問題は、pipenvを使用するgitプロジェクトのクローンを作成することから始まるため、Pipfile + Pipfile.lockがあります。プロジェクトで仮想環境を使用したいので、pipenv Shell
を実行します。これで仮想環境が作成され、仮想環境内にいます。プロジェクトには明らかに多くの依存関係があります(Pipfileにリストされています)。 Pipfileの大きなリストを1つずつ調べて、pipenv install <package_name>
を使用してインストールする必要はありません。すでに持っているPipfileからすべてのパッケージをインストールするpipenv/pipコマンドはありますか?または、pipenv Shell
を実行するのとは異なる環境をセットアップする必要があるかもしれません。注:pip freeze
は何も返しません。
この質問に対する適切な答えは、pipenv install
またはpipenv install --dev
(dev依存関係がある場合)を実行することです。これにより、すべての依存関係がPipefileにインストールされます。依存関係をrequirements.txtに入れてからpipを使用することはできますが、実際には必要ありません。ほとんどの人がpipenvを使用することの全体的な目的は、requirements.txtを管理したり、pipを使用したりする必要を避けることです。
編集:virtualenvがすでに有効化されている場合、pipenv sync
またはpipenv sync --dev
を使用して同じ効果を得ることができます。
理想的には、requirements.txt
ファイルには、pipを介したインストールに必要なすべてのパッケージが含まれています。このファイルを作成するには、次を実行します。
pip freeze > requirements.txt
PipfileとPipfile.lockをrequirements.txtに変換できます。 これを見てください
pipenv lock -r
その後、以下を実行することにより、python仮想環境にすべてのモジュールをインストールできます。
pip install -r requirements.txt
うまくいけば、私はあなたの質問に答えました。
同様の問題がありました。私にとっては、virtualenvを終了して実行しました
pipenv --three sync
そしてそれは働いた。
私が理解できるのは、私の場合、python 3を使用して新しい仮想環境を作成することです。python 2を使用すると、上記のコマンドは読むように編集される
pipenv --two
Syncコマンドは、すべての依存関係をPipfile.lockから新しいvirtualenvにコピーします。