Open16

Python関係

ultimatileultimatile

VScodeのJupyter NotebookでPython kernelが見つからない

Jupyterの拡張機能はVScode本体のJupyter Notebookの機能と競合するとか聞いていたのでuninstallしていたのが原因っぽい
Jupyterの拡張機能installしたら表示されるようになった

ultimatileultimatile

numpyは参照渡し...?

なんか混乱したので

python
zero = np.array([0])
one = np.array([1])
print(zero, one)
zero = one
one += 1
print(zero, one)
print(zero == one)
結果
[0] [1]
[2] [2]
[ True]

python
zero = np.array([0])
one = np.array([1])
print(zero, one)
zero = one.copy()
one += 1
print(zero, one)
print(zero == one)
結果
[0] [1]
[1] [2]
[False]
ultimatileultimatile

Jupyter Notebook in VScodeでtabのサイズは基本的にtab

VScodeのindent設定をspaceにしている場合, tab keyでspaceが入る.
したがってVScodeで作成したpython fileのindentはspaceで構成されることになる.

一方でJupyter Notebook on VScodeのtab keyの設定はJupyter Notebook側の設定が用いられるため, tab keyでtabが入ることになる.

VScode上で作った.py fileの内容をJupyter Notebookにコピペするとspaceがindentとして入るが, それをJupyter Notebook on VScodeで編集してtab keyを打つとtabが入る.
このようなindentとしてspaceとtabが混在したい場合errorとなってJupyter Notebook on VScode上で実行できなくなる.

簡単な回避方法は2022年10月現在は存在せず, VScode側のpython fileを記述する際のindentをtabにするなどしてJupyter Notebook on VScode側に合わせる他ない.
もしくは.py fileをJupyter Notebook on VScodeにコピペするものだけspaceをtabに変換するなどすることでも解決できる.

ちなみにJupyter Notebook on VScodeはspaceをindentとして理解できないわけではなく, あくまでindentとしてspaceとtabが混在するとerrorになるようである.

reference

https://github.com/microsoft/vscode-jupyter/issues/1953
https://qiita.com/riekure/items/2b344129dbe5e2507e48
https://qiita.com/kunshi/items/cef7ac981f185de6edf0

comment

一度jupyter上でcode整形をかけるといい感じになる...気がする...

ultimatileultimatile

整数を2進数表示して0埋め

# Generated by ChatGPT (GPT-3.5)
for i in range(16):
    print(f"{i:04b}")
  • とりあえず2進数(string)にしたいならbin()があるが0b0001みたいになる
  • 2進数(string)→intはint(bitstring, 2)
ultimatileultimatile

pymablockがinstallできない

backendのpymumpsがinstallできなくてコケる
https://github.com/PyMumps/pymumps/issues/15

directにpymablockを入れようとすると

./meson.build:48:25: ERROR: C shared or static library 'dmumps' not found

が出る.

Homebrewでmumpsを入れようとすると

brew tap brewsci/num
brew install brewsci-mumps  

が出てくるがsource codeの提供元のwebsiteが変わっていてinstallできない
downloadするには登録が必要そう

ultimatileultimatile

uv

requirements.txtがある場合→uv add -r requirements.txt