Setup.pyのdevelop
とinstall
の2つのオプションが私を混乱させています。これによると site によると、develop
を使用するとsite-packagesディレクトリへの特別なリンクが作成されます。
フレッシュインストールにはpython setup.py install
を、セットアップファイルに変更を加えた後はpython setup.py develop
を使うことを人々は提案しました。
誰かがこれらのコマンドの使用法に何らかの光を当てることはできますか?
python setup.py install
は、あなたが自分で開発、修正、デバッグするつもりはないパッケージ(通常はサードパーティ)をインストールするために使用されます。
あなた自身のために、あなたは最初にあなたのパッケージをインストールして、それから頻繁にコードを編集することができることを望みますなし毎回パッケージを再インストールする必要はありません - そしてそれはまさにpython setup.py develop
がすることです:コードを(仮想)環境にインストールした後にコードを簡単に編集し、変更をすぐに有効にできるようにパッケージ化します(通常は単にソースフォルダ)。
pip install .
を直接呼び出すと、プルプレリリースや互換性のないパッケージバージョンなど、多くの依存関係で間違ったことが行われたり、パッケージがインストールされにくくなるため、pip install -e .
(インストール)およびsetup.py
(開発者インストール)を使用することを強くお勧めします。 pip
でアンインストールします。
のドキュメント から。 develop
はパッケージをインストールしませんが、展開ディレクトリに.Egg-link
を作成してプロジェクトのソースコードディレクトリに戻します。
つまり、site-packages
にコピーする代わりにシンボリックリンクを追加するのと同じです(.Egg-link
はマルチプラットフォームのシンボリックリンクとして機能します)。
こうすることで、ソースコードを編集して変更を直接確認できます。変更を加えるたびに再インストールする必要はありません。これは、あなたがそのプロジェクトの開発者であり、したがってdevelop
という名前である場合に役立ちます。他の人のパッケージをインストールするだけの場合はinstall
を使うべきです。
develop
メソッドを使用するときに役に立つと思われるもう1つのことは、Sudoなしでインストールするための--user
オプションです。例:
python setup.py develop --user
の代わりに
Sudo python setup.py develop