Python関係
Python関係の小ネタです
VScodeの統合terminalで呼ばれるpythonがおかしい
以下を追記
設定からも選択可能
"terminal.integrated.env.osx": {
"PATH": ""
}
reference
VScodeのJupyter NotebookでPython kernelが見つからない
Jupyterの拡張機能はVScode本体のJupyter Notebookの機能と競合するとか聞いていたのでuninstallしていたのが原因っぽい
Jupyterの拡張機能installしたら表示されるようになった
numpyは参照渡し...?
なんか混乱したので
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]
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]
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
comment
一度jupyter上でcode整形をかけるといい感じになる...気がする...
s
とplotで使うmarkersize
は s
= markersize
{}^2
scatterで使うmakersize 知らんがな
こうしないと両者のmakersizeが一致しない
plt.plot(markersize=markersize)
plt.scatter(s=markersize**2)
整数を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)
pymablockがinstallできない
backendのpymumps
がinstallできなくてコケる
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するには登録が必要そう
debug
Rye
-
requirements.txt
がある
→rye init -r requirements.txt
-
pip install jax[cpu]
したい
→rye add jax --features cpu
便利そうな参考文献
ModuleNotFoundError
Rye: - Ryeで作成したvenv環境をkernelとしたJupyter Notebook環境(VScode)で
No module named pkg_resources
と表示され,追加しているはずのmoduleがimportできなかった. -
rye add setuptools
でsetuptools
を依存関係に追加したら解決した -
qiskit_ibm_provider
で発生
TensorFlowの互換性
- 旧:
tf.set_random_seed(0)
→新:tf.random.set_seed(0)
https://ameblo.jp/syota-cocoa2/entry-12724275193.html
matplotlibで日本語を使う用のpackage
uv
requirements.txt
がある場合→uv add -r requirements.txt