virtualenv
を作成し、その中にdistribute
とpip
をインストールし、オプションでgit
リポジトリのクローンを作成するスクリプトがあります。
これで、作業するプロジェクトがインストールされました。しかし、その依存関係はインストールされていません。 pip install MyApp
を発行したかのように、すべての依存関係をpip
にインストールさせるにはどうすればよいですか?
[〜#〜]編集[〜#〜]:どうやら私の質問は これ の複製です。
正確にはわかりませんが、pip install -e .
は、余計なものがあまり多くなくても、私がやりたいことを実行しているようです。ただし、コードがsite-packages
からリンクされていない方がいいと思います。
私のパッケージルートでpip install -e .
依存関係をインストールします。
依存関係がsetup.py
ファイルで定義されている場合は、最初に以下を使用してそれらを外部ファイルにダンプできます。
python setup.py Egg_info
これにより、すべての依存関係がYOUR_PROJECT.Egg-info/requires.txt
ファイルに一覧表示されます。次に、pip
を使用してそれらをインストールできます。
pip install -r *.Egg-info/requires.txt
Pip要件ファイルを使用する必要があります。
基本的に、すべての要件をファイルの各行に1つずつ配置し、コマンドを使用してそれをpipに渡します。
pip install -r requirements.txt
さらに、標準環境の場合、pipは次のコマンドを使用して、既存のインストールからそのようなファイルを実際にダンプできます。
pip freeze
このように生成されたファイルを直接pip要件に入れ、デプロイメントスクリプトから前のコマンドを呼び出すことができます。
かなりかっこいいですね。 :)
プロジェクトの依存関係をインストールするには(つまり、install_requires
+ extra_requires
)setuptoolsを使用して依存関係を抽出する必要がありますEgg-info
次に、結合された依存関係のフィルターされたリストをインストールします。
python setup.py Egg_info
pip install `grep -v '^\[' *.Egg-info/requires.txt`