71

私はPythonで使用できるパッケージマネージャーを探していました。プロジェクトの依存関係をファイルにリストしたい。たとえば、rubyはバンドルインストールを使用できるGemfileを使用します。Pythonでこれをどのように達成できますか?

4

6 に答える 6

85

このpipツールは、Rubyの宝石に相当する標準になりつつあります。のようdistributeに、依存関係を解決してダウンロードするためにPyPIパッケージリポジトリ(デフォルト)をpip使用します。プロジェクトの依存関係を一覧表示するファイルから依存関係をインストールできます(慣例により呼び出されます)。piprequirements.txt

pip install -r requirements.txt

pipを使用して、Pythonパス上の現在のパッケージを「フリーズ」することもできます。

pip freeze > requirements.txt

パッケージと組み合わせて使用​​するとvirtualenv、プロジェクトに必要な依存関係を持つプロジェクトPython環境を確実に作成できます。

于 2012-11-24T03:28:38.463 に答える
48

Pipenv

(私はそれが古い質問であることを知っています、そしてそれはすでに答えを持っていますが、私のような別の答えを探してここに来る人のために。)

私はnpmに非常によく相当するものを見つけました。それはpipenvと呼ばれています。virtualenvとpipの両方の要件を同時に処理するため、npmに似ています。


シンプルなユースケース

pip install pipenv

次に、Pythonの第3バージョンで新しいvirtualenvを作成したり、プロジェクトの要件やその他のもので満たされるpipfileを作成したりできます。

pipenv install --three

作成したvirtualenvを使用する:

pipenv shell

新しいPythonパッケージのインストール:

pipenv install requests

.pyファイルの実行は次のようになります。

pipenv run python somefile.py

あなたはそれがここにドキュメントを見つけることができます。

于 2017-09-03T06:10:47.463 に答える
10

Pythonはpipパッケージマネージャーに使用します。このpip installコマンドには-r <file>、指定された要件ファイルからパッケージをインストールするオプションがあります。

インストールコマンド:

pip install -r requirements.txt

内容例requirements.txt

Foo >= 1.2
PickyThing <1.6,>1.9,!=1.9.6,<2.0a0,==2.4c1
SomethingWhoseVersionIDontCareAbout

形式の詳細については、ドキュメントの「要件の解析」セクションを参照してください:https ://pip.pypa.io/en/stable/user_guide/#requirements-files

于 2013-09-09T17:21:34.330 に答える
7

pipこれが、のスコープを現在のプロジェクトに制限する方法です。またはでグローバルインストールを明示的に指定するNodeJSnpmまたはPHPから来ている場合は、逆のように感じます。composer-g--global

まだインストールしていない場合はvirtualenv、次のコマンドを使用してグローバルにインストールします。

 pip install virtualenv

各Pythonプロジェクトには、独自のvirtualenvインストールが必要です。cdプロジェクトのルートに合わせて設定するのは簡単です。

 python3 -m virtualenv env  # creates env folder with everything you need

virtualenvをアクティブにします。

 source env/bin/activate

これで、との相互作用はすべてpipプロジェクト内に含まれます。

pip install package_name==version依存関係ごとに実行します。それらはにインストールされます./env/lib/python3.x/site-packages/

プロジェクトの依存関係をファイルに保存する場合は、次のコマンドを実行します。

 pip freeze > requirements.txt

実際には必要ありません。-lまたは--local、アクティブ化されたプロジェクト固有のvirtualenv(必要な場合)を使用している場合。

ここで、から依存関係をインストールする場合はrequirements.txt、virtualenvを設定して、次のコマンドを実行します。

 pip install -r requirements.txt

それで全部です。

于 2018-06-08T23:36:21.760 に答える
2

pipenvpoetry対の比較は次のとおりです。httpspdm: //dev.to/frostming/a-review-pipenv-vs-poetry-vs-pdm-39b4 結論はそれが勝者です。pdm

しかし、私の経験では、IDEと統合するpoetryよりも簡単です。pdm

于 2021-11-20T15:45:24.010 に答える
1

これは古い質問ですが、物事は常に進化しています。

についての他の答えに加えてpipenv。と呼ばれるPythonパッケージマネージャーもありますpoetry

pipenvとここの詳細な比較がありpoertyます:npm、pip、pipenv、およびpoetryパッケージマネージャー間の機能比較。また、機能を一般的なnpm機能にリンクします。

于 2019-10-04T21:42:00.610 に答える