要件<package>を満たすバージョンが見つかりませんでした


139

次のrequirements.txtファイルを使用して、Ubuntu 12.04にいくつかのPythonパッケージをインストールしています。

numpy>=1.8.2,<2.0.0
matplotlib>=1.3.1,<2.0.0
scipy>=0.14.0,<1.0.0
astroML>=0.2,<1.0
scikit-learn>=0.14.1,<1.0.0
rpy2>=2.4.3,<3.0.0

そしてこれら二つのコマンド:

$ pip install --download=/tmp -r requirements.txt
$ pip install --user --no-index --find-links=/tmp -r requirements.txt

(1つ目はパッケージをダウンロードし、2つ目はパッケージをインストールします)。

プロセスは頻繁にエラーで停止します:

  Could not find a version that satisfies the requirement <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2)) (from versions: )
No matching distribution found for <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2))

これを手動で修正します:

pip install --user <package>

次に、2番目のpip installコマンドを再度実行します。

しかし、それはその特定のパッケージでのみ機能します。2番目のpip installコマンドを再度実行すると、プロセスが停止し、別の必要なパッケージについて不満が出て、プロセスをもう一度繰り返す必要があります。つまり、(上記のコマンドを使用して)新しい必須パッケージを手動でインストールしてから、2番目のpip installコマンドを実行します。

これまでのところ私は、手動でインストールしなければならなかったsixpytznose、今では必要と文句ですmock

必要なすべての依存関係pipを自動的にインストールするように指示する方法はあるので、手動で1つずつインストールする必要はありませんか?

追加:これはUbuntu 12.04 BTWでのみ発生します。Ubuntu 14.04ではpip installrequirements.txtファイルに適用されたコマンドは問題なく機能します。


1
Djangoプロジェクトがローカルのbrewパッケージに依存している場合があります。これらがインストールされていることを再確認してください!
James111 2016年

同じ問題がありました。「python -m pip installフラスコ」でインストールできました
Freelancer

回答:


47

この方法(すべての依存関係がディレクトリにあり、インデックスからダウンロードしない)は、ディレクトリにすべてのパッケージが含まれている場合にのみ機能します。ディレクトリには、したがって、すべての依存関係だけでなく、それらの依存関係は、(例えば、依存するすべてのパッケージを含まなければならないsixpytzなど)。

したがって、これらを手動でrequirements.txt(最初のステップで明示的にダウンロードするように)含めるか、PyPIを使用してすべてのパッケージをインストールしてpip freeze > requirements.txtから、必要なすべてのパッケージのリストを保存する必要があります。


それで、すべての要件が何であるかを見つける唯一の方法freezeは、作業セットアップにインストールされたパッケージにそれからrequirements.txtファイルにすべてを追加することですか?
ガブリエル

2
@Gabriel:現在のところsetup.py、必要な依存関係を含むファイルを実行することにより、多くのPythonパッケージがインストールされています。これは、Pythonパッケージがホイールファイル(pythonwheels.com)になると改善されsetup.pyます。これにより、ファイル内の任意のコードを実行せずに、必要なすべてのパッケージのリストを収集できます。
Simeon Visser 2015

1
説明シメオンをありがとう。気にしない場合はもう1つ、Ubuntu 14.04ではこれが発生しないのに、Ubuntu 12.04では発生するのはなぜですか?
ガブリエル

4
@Gabriel:わかりません-私の経験では、pipインストールするパッケージが見つからない場合は常に中止されます。言われていることpipは活発に開発されているので、私が使用していないバージョンがあるかもしれません。
Simeon Visser

@SimeonVisser、「[ホイール]を使用すると、任意のコードを実行せずに必要なすべてのパッケージのリストを収集できます」、興味深い、実際にそれを行う方法を共有している(今まで)?
sschuberth

39

私はpython3をインストールしましたが、/ usr / bin / pythonにある私のpythonはまだ古い2.7バージョンでした

これは、(働いて<pkg>いたpyserial私の場合):

python3 -m pip install <pkg>

1
これは、setuptoolsにpython_requires='>=3.0'要件がある場合に発生します
Juan-Kabbali

11

2時間検索した後、1行のコマンドで修正する方法を見つけました。パッケージのバージョンを知る必要があります(パッケージのバージョンを検索するだけです)。

コマンド:

python3 -m pip install --pre --upgrade PACKAGE==VERSION.VERSION.VERSION


4

次のコマンドを使用して、Powershellからフラスコをインストールしてみてください。

pip install --isolated Flask

これにより、環境変数やユーザー構成を回避するインストールが可能になります。


3

常にではありませんが、パッケージがすでに存在する場合もあります。たとえば-getpass。「pipリスト」には表示されませんが、インポートして使用できます。

ここに画像の説明を入力してください

インストールgetpassをpipしようとすると、「getpass要件を満たすバージョンが見つかりませんでした」というエラーが表示されます。


1

awscliWindows 10にanaconda(python 3.7)をインストールしているときに、このエラーが発生しました。トラブルシューティング中に、回答https://stackoverflow.com/a/49991357/6862405に移動し、次にhttps://stackoverflow.com/a/54582701/6862405に移動しました。最後に、私はライブラリをインストールする必要があることを発見PyOpenSSLcryptographyenum34idnaipaddress。これらをインストールした後(単にpip installコマンドを使用)、をインストールすることができましたawscli


1

職場でこの問題に直面した場合。これはあなたのための解決策かもしれません。

pip install -U <package_name> --user --proxy=<your proxy>


-6

コマンドプロンプトを使用し、[管理者として実行]を選択します。

pipバージョンをアップグレードする

PIPをアップグレードするには、次のコマンドを入力してEnterキーを押します:-

python.exe -m pip install --upgrade pip

pythonパスC:\ Users \ Jack \ AppData \ Local \ Programs \ Python \ Python37 \ Scriptsに戻ります。

タイプジュピターノート

http:// localhost:8888 / undefined / tree -Jupyterホームページにリダイレクトされます

それが役に立てば幸い !!!!!!!!!!!


2
jupyterはこれとどのような関係がありますか?
Bzazz

どのようにpipをアップグレードすると依存関係を解決できますか?呼び出しディレクトリに依存関係が必要です。
リズワンハビッド

-7

役立つかもしれません

sudo pip install wheel == 0.29.0


4
申し訳ありません。私は中国語やその他のアジア言語を読んでいません。コンテキストなしの低品質の回答を投稿したとおり。
ZF007 2018

1
紹介リンクは日本語です...英語でリンクを共有することを検討してください
javidazac

6
コードはすべての開発者に理解可能であり、日本語の量は最小限であり、次のコードを紹介するタイトルよりも少しだけ多くなっています(難しすぎる場合は翻訳してください。何が起こっているのか理解するためにそれを行う必要はありません)。コード例が明確で、使用されている外国語に完全に依存していない限り、使用されている英語以外の言語に問題はありません。
rg88

6
@ rg88これはコメント(多分注意)で問題ありませんが、Stack Overflowの回答は自己完結的で説得力があるはずです。
tripleee
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.