大事なことしか話さない

学んだことの備忘録 python/金融工学/ベイズ統計学など

JupyterLabで行番号をデフォルト表示したい

【動機】

Jupyter Notebookの進化版であるJupyterLabで行番号をデフォルトで表示したい

【やり方】

  1. ⌘と,を同時押し、もしくは「Settings」→「Advanced Settings Editor」を開いて設定画面を開く

  2. Notebookを選択し、右側に

{
    "codeCellConfig": {
      "lineNumbers": true
    }
}

もしくは

{
    // Notebook
    // @jupyterlab/notebook-extension:tracker
    // Notebook settings.
    // **************************************

    // Code Cell Configuration
    // The configuration for all code cells.
    "codeCellConfig": {
      "insertSpaces": true,
      "lineHeight": null,
      "wordWrapColumn": 80,
      "fontSize": null,
      "lineNumbers": true,
      "tabSize": 4,
      "fontFamily": null,
      "autoClosingBrackets": true,
      "readOnly": false,
      "matchBrackets": true,
      "lineWrap": "off"
    },

    // Markdown Cell Configuration
    // The configuration for all markdown cells.
    "markdownCellConfig": {
      "insertSpaces": true,
      "lineHeight": null,
      "wordWrapColumn": 80,
      "fontSize": null,
      "lineNumbers": false,
      "tabSize": 4,
      "fontFamily": null,
      "autoClosingBrackets": false,
      "readOnly": false,
      "matchBrackets": false,
      "lineWrap": "on"
    },

    // Raw Cell Configuration
    // The configuration for all raw cells.
    "rawCellConfig": {
      "insertSpaces": true,
      "lineHeight": null,
      "wordWrapColumn": 80,
      "fontSize": null,
      "lineNumbers": false,
      "tabSize": 4,
      "fontFamily": null,
      "autoClosingBrackets": false,
      "readOnly": false,
      "matchBrackets": false,
      "lineWrap": "on"
    }
}

これを貼り付ける。

f:id:bnbnp:20190213221357p:plain

3. 右上のボタン、もしくは⌘+sで上書き保存してJupyterLabを再起動。

numpyが壊れていてimportは出来るもののその他の機能が使えない問題の解決法

【問題】

import pandas as pd
>>>AttributeError: module 'numpy' has no attribute '__version__'
import numpy as np
np.dot(hoge)
>>>AttributeError: module 'numpy' has no attribute 'dot'
import matplotlib
>>>Missing required dependencies ['pytz']

numpy自体のimportは成功するがpandas, matplotlibなど関連パッケージのimportや、numpyの中身が使えなくなってしまった。

【解決法の前に】

同じディレクトリにnumpy.pyみたいなファイルが紛れ込んでないかチェック。試すならなんにもないDesktopなりでipythonを走らせてimport pandasでもすればいい。

【解決法①】

condaでnumpyの再インストール。駄目ならanacondaの再インストール。

conda uninstall numpy
conda install numpy

これが一番手っ取り早い

【解決法②】

pipのnumpyの再インストール。pipを消したりいじってるとこれになるかも。自分はこれだった。

conda update --all
pip uninstall -y numpy
pip uninstall -y setuptools
pip install setuptools
pip install numpy

MacDownを使っていて下線、打ち消し線が反映されない問題の解決法

【問題】

Mac用のMarkdown編集アプリ、MacDownでチルダ2つで文字をくくれば下線になるらしいがMacDownだとどうもうまくいかなかった。

 

【解決法】

設定を変える

 

【詳細】

MacDown → Preferences → Markdown → Underline(下線)・Strikethrough(打ち消し線)にチェック

で解決した。

f:id:bnbnp:20190209130412p:plain   f:id:bnbnp:20190209130603p:plain

 

これで

「_hoge_  ~~fuga~~」

と打てばしっかり下線、打ち消し線が反映されるはずである。

 

その他にもチェックをいれると、以下のような事ができる。ぜひコピペして確かめて欲しい

 

>一重
>>二重
>>>三重(絶対にいらない)

_a_

This is some 卍<sup>2</sup> text. (設定チェック無しで行ける)

卍^(最高)(設定チェックしないと反映されない)

This is some H<sub>2</sub> text.(設定チェック無しで行ける)

`コード表示` です(設定チェック無しで行ける)

So A*maz*ing (設定チェックしないと反映されない)

~~打ち消し線~~ (設定チェックしないと反映されない)

_So doge_ (設定チェックしないと反映されない)

http://bnbnp.hatenadiary.jp/ (設定チェックしないと自動リンクにならない)

[普通のやり方。名前が変えられる](http://bnbnp.hatenadiary.jp/)

 

 

【雑感】

日本語で解決方法を探しても全く出てこなかったので記事にした。

英語ならすぐ出てくるので英語学習やっぱり大事。

ちなみにMacDownは便利

rootと同じ仮想環境を作る話、vispyの"PyQt5"がimportできない問題と一時的解決策

rootと同じ仮想環境を作る最も簡単な方法:

conda create --name 新しく作る仮想環境の名前 --clone base

これをターミナルで実行すればいい


【問題】 「作って動かすALife」で、以下のコードを実行しようとしたら以下のようになってしまった。

import vispy
vispy.use('PyQt5')
# => RuntimeError: Could not import backend "PyQt5":  
# => No module named 'PyQt5'

【(根本ではない)解決策】
仮想環境をやめ、色々入っているroot環境でvispyをインストールしたらできた

でもroot環境は汚したくないから↑の方法でrootを別名でまた作ればok

XXが原因で年間〇〇人が死亡

https://www3.nhk.or.jp/news/html/20180922/k10011640041000.html

これって何が悪いのだろうか?

もちろん銃や自動車など無関係の他人にまで被害が及ぶものはわかる

しかしなぜタバコやアルコールもここまで悪く言われなければいけないのか?

今さらタバコ・アルコールの害を知らずに吸ってる人なんていないし、副流煙の問題などは分煙をすべきかの話であってタバコを規制する理由にはならない。そもそも副流煙健康被害は科学的にわかっていない

人が酒タバコをやめて平均寿命が5年伸びたら人類は幸せになるのか?

社会のお荷物になる高齢者が増えるだけなのでは?

特に少子高齢化の日本ではさっさと年寄りにいなくなってもらい新陳代謝を促進するべきではないだろうか