🅿️
Python パッケージの編集可能インストール
Python パッケージの編集可能インストール
パッケージ作成時にpip install -e がソースコードを編集可能な状態でインストールでき、
便利だったので使い方などを書いておく
簡単に言うと
インストールする時にコピーを作るのではなくリンクを作るからコードを編集すると即変更が反映される
ということ
コマンド
pip だけでなくsetup.pyにも同じ機能のオプションがある
# pip
pip install -e <project-path>
# setup.py
python setup.py develop
-e は --editable の略
通常の違い
pip documentによると
ローカルプロジェクトパスまたはVCS URLから編集可能モード(つまり、setuptools「開発モード」)でプロジェクトをインストールします。
通常パッケージをインストールすると、実行したpythonの環境のsite-packagesディレクトリにコードがコピーされる。
なのでコードに修正を加えると再度インストールをし直さないといけない。
修正する度にインストールを実行し直すのは結構面倒だし忘れることもあるので、そんな時に使える。
pip install -e または setup.py develop を実行するとsite-pakages内には <パッケージ名>.egg-link という名前のソースコードへのリンクが作成され、
再インストール無しでコードの編集が可能になる。
pip freeze を実行すると以下のような表示になる
$ pip freeze
> # Editable Git install with no remote (<パッケージ名>==バージョン)
> -e /<パッケージまでのpath>/<パッケージ名>
VCS
VCS(Version control system)のURLからインストールすることも可能
pip install -e "vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir"
# gitの場合
pip install -e git+http://git.example.com/MyProject#egg=MyProject
gitからeditable install する意味があるのかわからない・・
参考
- https://pip.pypa.io/en/stable/cli/pip_install/#install-editable
- Michat Jaworski・Tarek Ziade (2018) エキスパートPythonプログラミング改訂2版 株式会社ドワンゴ
Discussion