らんだむな記憶

blogというものを体験してみようか!的なー

Python

opencv-python

GitHub - opencv/opencv-python: Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages. b. Packages for server (headless) environments (such as …

venv の環境名変更

python -m venv で pyenv の仮想環境を作っているが、環境名を変更したいことがある。 grep -rl "myenv" ./ | xargs perl -i -pe "s/myenv/changed-env/g" でいけちゃうらしい。ということは find . -name "*" | xargs grep -n "myenv" で見つかったファイル…

新しい Python のサポート

Add support for Python 3.11 by mtreinish · Pull Request #1642 · Qiskit/qiskit-aer · GitHub 自分でそういう対応をすることはないのだが、参考程度に記憶にとどめておきたい。

Visual Studio Code で Python インタープリタ指定 (2)

Visual Studio Code で Python インタープリタ指定 - らんだむな記憶 VS Code が覚えている Python インタープリタのパス - らんだむな記憶 と毎回悩んでいるが、Using Python Environments in Visual Studio Code によると、python.venvPath というのもある…

The unauthenticated git protocol on port 9418 is no longer supported.

さて、久しぶりに pyenv でも更新しますかねと pyenv update したら The unauthenticated git protocol on port 9418 is no longer supported. などとおっしゃる。Public git dependencies stop working - The unauthenticated git protocol on port 9418 is…

Jupyter のインライン画像を SVG にしたい

matplotlib - jupyter notebook inline plots as svg - Stack Overflow が参考になりそう?デフォルトでそういう設定にできるだろうか。 或いは、~/.ipython/profile_default/ipython_kernel_config.py に c.InlineBackend.figure_format = 'svg'と書けば良…

Python Data Science Handbook

Python Data Science Handbook | Python Data Science Handbook へー。なんかうまいこと自動で流暢な日本語に翻訳できないかなぁ・・・。2016 年の本みたいだけど、エッセンスは十分に意味があるはず。

pandas_profiling

よく分からないけど、 import matplotlib.pyplot as plt import pandas_profiling してると plt.show() でグラフが出なくなるような?backend がとられちゃうのかな・・・?Importing pandas_profiling changes matplotlib backend · Issue #130 · ydataai/p…

'ExtensionManager' object has no attribute '_extensions'

で jupyter lab が起動しなくなった。ちょうど jupyterlab 等々を更新した直後だったのだが。 'ExtensionManager' object has no attribute '_extensions' when starting JupyterLab · Issue #10228 · jupyterlab/jupyterlab · GitHub のがあるらしく、 pip …

Jupyter の SSL 化

Jupyter ノートブックサーバーの起動 - Deep Learning AMI 気持ちの問題で openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem をしてみることに。起動時の指定は面倒くさいので、AWSにjupyter notebookを構築してリモ…

Python でモジュールをリロード

jupyter上でスムーズにモジュールを再読み込みする - Qiita みたいなことをすると Jupyter 上で外部モジュールをリロードできる。何か機能追加したい時とかにたまに役に立つ。

Python の dict の key の順序

なんだか挙動を見ているとセットした順番に並んでいるように見えて仕方ない。ということで調べてみるとそういった内容が書いてある・・・。Python 3.7でdictが順序を保存するようになって良かったとしみじみ思う - QiitaPython Release Python 3.7.0 | Pytho…

pybind11

Boost.Python(2) - らんだむな記憶 で Boost.Python について触れたが、そもそも Boost があまり好きではない。ということで pybind11 が気になるところ。とは言え、C 拡張を求めるほど速度について不満を持っている事項がない・・・。 pybind11でC++の関数…

Python のパッケージ管理

2020 年の Python パッケージ管理ベストプラクティス - Qiita をざっとコメント欄まで読むと、Poetry を使っておけばいいのかな?って感じで。

Python の文字列

PEP 393 -- Flexible String Representation | Python.org The Unicode string type is changed to support multiple internal representations, depending on the character with the largest Unicode ordinal (1, 2, or 4 bytes). typedef struct { PyObje…

OmegaConf

OmegaConfで型チェック付きのコンフィグ管理 yaml でコンフィグを書いてぶわっとロードするツール。山のようなオプションを管理してないので今はいいけど、100 個くらいパラメータを管理しそうになったら導入したい。

同名クラス間での継承

gans-in-action/Chapter9_CycleGAN.ipynb at master · GANs-in-Action/gans-in-action · GitHub C# の部分クラスみたいにちょっとずつ CycleGAN クラスができあがっていくのが面白い。同名のクラスをシーケンシャルに定義して継承していけるとは・・・。

PYENV_VERSION

何故か Ubuntu 環境でどこからか PYENV_VERSION 環境変数が乗っ取られていて pyenv のバージョンが張り付いてしまっている。どうやら pyenv shell --unset で消せるらしいので、一旦 ~/.bashrc に記載してしまった。不思議なのは、ssh 時にはこの環境変数が…

pyenv init - no longer sets PATH (2)

pyenv init - no longer sets PATH - らんだむな記憶 から 2 ヶ月くらい経過。GitHub - pyenv/pyenv: Simple Python version management に手順が記載されている。 以下のような形になるようにすれば良さそう。 [macOS] echo 'export PYENV_ROOT="$HOME/.pye…

pyenv init - no longer sets PATH

という警告が出ている環境があった。(最近 pyenv update した環境) WARNING: `pyenv init -` no longer sets PATH. · Issue #1906 · pyenv/pyenv · GitHub を見たところ、 eval "$(pyenv init -)" していた箇所を eval "$(pyenv init --path)" にすれば良…

型からモジュールを取得したい

python - Getting Module from Type - Stack Overflow みたいな感じしかないかなぁ >>> import numpy as np >>> import inspect >>> t = np.float32 >>> mod = inspect.getmodule(t) >>> a = mod.array([1, 2, 3]) >>> type(a) <class 'numpy.ndarray'> そうか・・・。https://githu</class>…

__truediv__

operator --- 関数形式の標準演算子 — Python 3.9.4 ドキュメント これは一体・・・。"真の" 除算・・・?__add__, __div__, __floordiv__, __mod__, __mul__, __sub__,__truediv__ - Python in a Nutshell [Book] なるほど・・・。/ が __truediv__ に対応…

ソースファイルのエンコーディング

PEP 8 -- Style Guide for Python Code | Python.org Files using ASCII (in Python 2) or UTF-8 (in Python 3) should not have an encoding declaration. れいの # -*- coding: utf-8 -*-はもう書かないほうが良い? 英語で読むのが面倒くさくて はじめに …

スクレイピング

【スクレイピングまとめ】| Python Node.js PHP Ruby Go VBA | 6種類の言語でヤフートップをスクレイピング - Qiita この辺がそれぞれ定番のライブラリなのかな?Python でも良さそう。なら 10分で理解する Beautiful Soup - Qiita とか [スクレイピング] Py…

Visual Studio Code で Python インタープリタ指定

たまにうまくいかない気がするけど workspace.code-workspace と同じディレクトリに .vscode/settings.json を作って、 { "python.pythonPath": ".../bin/python" } で適当に Python インタープリタのパスを記載しておけば良さそう。python -m venv で作った…

Python の前方参照

PEP 484 -- Type Hints | Python.org class Tree: def __init__(self, left: 'Tree', right: 'Tree'): self.left = left self.right = right うーん・・・。PEP 563 -- Postponed Evaluation of Annotations | Python.org from __future__ import annotations…

Python の関数コール (5)

Python の関数コール (4) - らんだむな記憶 の続き。前回までで CPython インタープリタの中からデフォルト引数の流れを追いかけてきた。今回はそれを踏まえて Python の世界からもう一度眺め直す。まず最初に前回までで分かった内容をざっくりとまとめると …

Python の関数コール (4)

Python の関数コール (3) - らんだむな記憶 の続き。前回と同じ test.py を使う。print 関数を含めて呼び出される関数の個数に注意して (gdb) b Python/ceval.c:5060 (gdb) b Objects/call.c:353 しておいてスタックを進め、no_arg() に関する Objects/call.…

Python の関数コール (3)

Python の関数コール (2) - らんだむな記憶 の続き。 # -*- coding: utf-8 -*- import os def no_arg(): print("***** no_arg") def one_arg1(arg=[]): arg.append(1) return arg def one_arg2(arg=None): arg = arg or [] arg.append(1) return arg if __na…

Python の関数コール (2)

Python の関数コール - らんだむな記憶 の続き。Python 3.9.3 をビルドして動作を見てみる。 # -*- coding: utf-8 -*- import os if __name__ == "__main__": os.system("ls") みたいなスクリプトを書いて test.py として保存しておく。 ビルドした Python 3…