🅿️

Python パッケージの編集可能インストール

2024/08/25に公開

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 する意味があるのかわからない・・

参考

Discussion