要件.txtを使用してPythonプロジェクトにすべての依存関係をインストールする方法


83

私はPythonを初めて使用します。最近、Pythonで作成されたプロジェクトを入手しましたが、インストールが必要です。以下のコマンドを実行してインストールしましたが、エラーが発生しました。

# pip install requirements.txt 
Collecting requirements.txt
  Could not find a version that satisfies the requirement requirements.txt (from versions: )
No matching distribution found for requirements.txt

私はグーグルで検索してこのリンクを見つけましたhttp://stackoverflow.com/questions/28167987/python-pip-trouble-installing-from-requirements-txtが、その投稿の解決策がよくわかりません。

以下は私のrequirements.txtファイルです:

# cat requirements.txt 
ordereddict==1.1
argparse==1.2.1
python-dateutil==2.2
matplotlib==1.3.1
nose==1.3.0
numpy==1.8.0
pymongo==3.3.0
psutil>=2.0

このPythonプロジェクトに必要なすべての依存関係をインストールする簡単な方法はありますか?

EDIT1

以下はからの出力ですpip3 install -r requirements.txt

# pip3 install -r requirements.txt 
Requirement already satisfied: ordereddict==1.1 in /usr/local/lib/python3.5/dist-packages (from -r requirements.txt (line 1))
Collecting argparse==1.2.1 (from -r requirements.txt (line 2))
  Using cached argparse-1.2.1.tar.gz
Collecting python-dateutil==2.2 (from -r requirements.txt (line 3))
  Using cached python-dateutil-2.2.tar.gz
Collecting matplotlib==1.3.1 (from -r requirements.txt (line 4))
  Using cached matplotlib-1.3.1.tar.gz
    Complete output from command python setup.py egg_info:
    ============================================================================
    Edit setup.cfg to change the build options

    BUILDING MATPLOTLIB
                matplotlib: yes [1.3.1]
                    python: yes [3.5.2 (default, Nov 17 2016, 17:05:23)  [GCC
                            5.4.0 20160609]]
                  platform: yes [linux]

    REQUIRED DEPENDENCIES AND EXTENSIONS
                     numpy: yes [version 1.11.3]
                  dateutil: yes [using dateutil version 2.6.0]
                   tornado: yes [tornado was not found. It is required for the
                            WebAgg backend. pip/easy_install may attempt to
                            install it after matplotlib.]
                 pyparsing: yes [using pyparsing version 2.1.10]
                     pycxx: yes [Official versions of PyCXX are not compatible
                            with Python 3.x.  Using local copy]
                    libagg: yes [pkg-config information for 'libagg' could not
                            be found. Using local copy.]
                  freetype: no  [The C/C++ header for freetype2 (ft2build.h)
                            could not be found.  You may need to install the
                            development package.]
                       png: yes [pkg-config information for 'libpng' could not
                            be found. Using unknown version.]

    OPTIONAL SUBPACKAGES
               sample_data: yes [installing]
                  toolkits: yes [installing]
                     tests: yes [using nose version 1.3.7]

    OPTIONAL BACKEND EXTENSIONS
                    macosx: no  [Mac OS-X only]
                    qt4agg: no  [PyQt4 not found]
                   gtk3agg: no  [gtk3agg backend does not work on Python 3]
                 gtk3cairo: no  [Requires cairo to be installed.]
                    gtkagg: no  [Requires pygtk]
                     tkagg: no  [TKAgg requires Tkinter.]
                     wxagg: no  [requires wxPython]
                       gtk: no  [Requires pygtk]
                       agg: yes [installing]
                     cairo: no  [cairo not found]
                 windowing: no  [Microsoft Windows only]

    OPTIONAL LATEX DEPENDENCIES
                    dvipng: no
               ghostscript: no
                     latex: no
                   pdftops: no

    ============================================================================
                            * The following required packages can not be built:
                            * freetype

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-don4ne_2/matplotlib/

私はすでにインストールしましたlibfreetype6-devが、pipコマンドはまだこの依存関係がないことを報告します。

# apt-get install libfreetype6-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libfreetype6-dev is already the newest version (2.6.1-0.1ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

23
pip install -r requirements.txt
MrLeeh 2017年

1
-rフラグ付きの出力を含むように出力を更新しましたが、まだインストールできません。
Joey Yi Zhao

だから今、新しい出力を読んで考えてください-私たちを待ってはいけません。
フラス2017年

出力では、が必要であることがわかりますfreetype。Pythonモジュールではなく、システムパッケージです。ieを使用してインストールする必要があります。apt-getオンUbuntu/Mint
フラス2017年

なぜ-rそれは何の関係もないのでfile??
ソレン

回答:


61

Linux OSを使用している場合:

  1. matplotlib==1.3.1から削除requirements.txt
  2. でインストールしてみてください sudo apt-get install python-matplotlib
  3. pip install -r requirements.txt(Python 2)またはpip3 install -r requirements.txt(Python 3)を実行します
  4. pip freeze > requirements.txt

Windows OSを使用している場合:

  1. python -m pip install -U pip setuptools
  2. python -m pip install matplotlib

9
こんにちはNilesh、StackOverflowへようこそ。将来的には、コマンドを実行するように指示するだけでなく、回答に与えるコマンドの機能の説明を含めてください。
yakatz 2017年

@Nileshに感謝します。3.の前に4を置くという意味ですか?
アヌパム2018

いいえ@Anupam、ステップ1と同様に、requirements.txtから「matplotlib」を削除しました。ステップ4では、将来使用するために新しくインストールされたパッケージでrequirements.txtを更新しています。step3は、ファイルから他の要件をインストールするためのものです。
Nilesh Pansuriya 2018

40

pip install -r requirements.txt ために python 2.x

pip3 install -r requirements.txtfor python 3.x(複数のバージョンがインストールされている場合)


私は両方を試しましたが、それでも失敗しました。このコマンドの出力を投稿しました。
Joey Yi Zhao

1
MATPLOTLIBをインストールするために必要な依存関係「freetype」が欠落していると思います。依存関係をインストールして、pip install -rrequirements.txtを再度実行してみてください。
Joshi Sravan Kumar 2017

pipシステムレベルの依存関係は処理しません。apt-get install libfreetype6-dev続行する前に行う必要があります。(それはあなたの出力でそう言っています。次回そのようなエラーのためにそれを
ざっと見て


3

(私のコメントから引用)

pipシステムレベルの依存関係は処理しません。apt-get install libfreetype6-dev続行する前に行う必要があります。(それはあなたの出力でそう言っています。次回そのようなエラーのためにそれをざっと見てみてください、通常ビルド出力は非常に詳細です)


私はすでにlibfreetype6-devをインストールしました。ただし、pipは引き続きこのエラーを報告します。
Joey Yi Zhao

このバグを見ましたか?github.com/matplotlib/matplotlib/issues/3029
FMaz

3

Python 3:

pip3 install -r requirements.txt

Python 2:

pip install -r requirements.txt

仮想環境またはシステム全体のすべての依存関係を取得するには、次のようにします。

pip freeze

すべての依存関係をrequirements.txt(Linux)にプッシュするには:

pip freeze > requirements.txt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.