requirements.txt를 사용하여 Python 프로젝트의 모든 종속성을 설치하는 방법


83

저는 파이썬을 처음 사용합니다. 최근에 파이썬으로 작성된 프로젝트가 있는데 설치가 필요합니다. 아래 명령을 실행하여 설치했지만 오류가 발생했습니다.

# 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

나는 Google에서 검색 하고이 링크를 찾았 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 프로젝트에 필요한 모든 종속성을 쉽게 설치할 수있는 방법이 있습니까?

편집 1

아래는 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

1
-r 플래그로 출력을 포함하도록 출력을 업데이트했지만 여전히 설치할 수 없습니다.
Joey Yi Zhao

이제 새로운 출력을 읽고 생각하십시오-우리를 기다리지 마십시오.
furas

출력에서 freetype. 파이썬 모듈이 아니라 시스템 패키지입니다. ie를 사용하여 설치해야합니다. apt-getUbuntu/Mint
furas

-r그것과 관련이 없기 때문에 file??
Sören

답변:


61

Linux OS를 사용하는 경우 :

  1. 제거 matplotlib==1.3.1에서requirements.txt
  2. 다음과 함께 설치하십시오. sudo apt-get install python-matplotlib
  3. 실행 pip install -r requirements.txt(파이썬 2) 또는 pip3 install -r requirements.txt(파이썬 3)
  4. pip freeze > requirements.txt

Windows OS를 사용하는 경우 :

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

9
안녕하세요 Nilesh, Stack Overflow에 오신 것을 환영합니다. 앞으로는 사람들에게 명령을 실행하라고 말하지 말고 답변에 제공하는 명령이 수행하는 작업에 대한 설명을 포함하십시오.
yakatz

감사합니다 @Nilesh. 3. 앞에 4를 넣으라는 뜻인가요?
Anupam

@Anupam 없음, 1 단계에서와 같이 requirements.txt에서 "matplotlib"를 제거했으며 4 단계에서는 나중에 사용할 수 있도록 새로 설치된 패키지로 requirements.txt를 업데이트합니다. 3 단계는 파일에서 다른 요구 사항을 설치하기위한 것입니다.
Nilesh Pansuriya

40

pip install -r requirements.txt ...에 대한 python 2.x

pip3 install -r requirements.txt대한 python 3.x(경우에 여러 버전이 설치됩니다)


나는 둘 다 시도했지만 여전히 실패했습니다. 이 명령의 출력을 게시했습니다.
Joey Yi Zhao

1
MATPLOTLIB를 설치하는 데 필요한 종속성 'freetype'이 없다고 생각합니다. 종속성을 설치하고 pip install -r requirements.txt를 다시 실행하십시오.
Joshi Sravan Kumar

pip시스템 수준 종속성을 처리하지 않습니다. apt-get install libfreetype6-dev계속 하기 전에해야합니다. (. 그것은 심지어 당신의 출력에 너무 좋아 말한다 이러한 오류에 대해 그 위에 다음을 대충 훑어보십시오, 일반적으로 빌드 출력은 매우 자세히 설명)
FMaz


3

(내 의견에서 발췌)

pip시스템 수준 종속성을 처리하지 않습니다. apt-get install libfreetype6-dev계속 하기 전에해야합니다. (당신의 출력에서 ​​그렇게 옳다고 말합니다. 다음에 그러한 오류를 훑어보십시오. 일반적으로 빌드 출력은 매우 상세합니다.)


이미 libfreetype6-dev를 설치했습니다. 그러나 pip는 여전히이 오류를보고합니다.
Joey Yi Zhao

이 버그를 보았습니까? github.com/matplotlib/matplotlib/issues/3029
FMaz

3

파이썬 3 :

pip3 install -r requirements.txt

파이썬 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.