<패키지> 요구 사항을 충족하는 버전을 찾을 수 없습니다


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

첫 번째는 패키지를 다운로드하고 두 번째는 패키지를 설치합니다.

프로세스는 종종 오류와 함께 중지됩니다.

  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>

그런 다음 두 번째 pip install명령을 다시 실행하십시오.

그러나 그것은 단지 작동 특정 패키지. 두 번째 pip install명령을 다시 실행하면 프로세스가 이제 다른 필수 패키지 에 대해 불평 하고 프로세스를 다시 반복해야합니다. 즉, 새 필수 패키지를 수동으로 설치하고 (위의 명령으로) 두 번째 pip install명령 을 실행하십시오 .

지금까지 내가 수동으로 설치 했어 six, pytz, nose, 지금은 필요에 대해 불평 mock.

알 수있는 방법이 pip자동으로 설치하는 모든 나는 그것을 하나 수동으로 하나를 수행 할 필요가 없습니다 필요 종속성은?

추가 : 이것은 Ubuntu 12.04 BTW에서만 발생합니다. Ubuntu 14.04에서는 파일에 pip install적용된 명령이 requirements.txt문제없이 작동합니다.


1
때로는 Django 프로젝트가 로컬 추출 패키지에 의존 할 수 있습니다. 이것들을 설치했는지 다시 확인하십시오!
James111

나는 'python -m pip install flask'와 같은 문제를 겪었다. 그것을 설치할 수 있었다
Freelancer

답변:


47

디렉토리에 모든 종속성이 있고 색인에서 다운로드하지 않는이 방법은 디렉토리에 모든 패키지가 포함 된 경우에만 작동합니다. 디렉토리 그러므로 모든 종속 그러나 그 종속 (예,에 의존하는 모든 패키지에 포함되어 있어야합니다 six, pytz등).

따라서 수동으로 requirements.txt패키지를 수동으로 포함 시키거나 (첫 번째 단계에서 명시 적으로 다운로드하도록) PyPI를 사용하여 모든 패키지를 설치 한 다음 pip freeze > requirements.txt필요한 모든 패키지 목록을 저장해야합니다.


따라서 모든 요구 사항이 freeze작업 세트의 설치된 패키지에 있는지 확인한 다음 거기에있는 모든 것을 requirements.txt파일 에 추가하는 방법은 무엇입니까?
Gabriel

2
@Gabriel : 현재 setup.py필요한 의존성을 포함 하는 파일을 실행하여 많은 Python 패키지가 설치되어 있으므로 가능합니다. 파이썬 패키지가 휠 파일 ( pythonwheels.com )이되면 setup.py파일 에서 임의의 코드를 실행하지 않고도 필요한 모든 패키지 목록을 수집 할 수있게되면 더 좋아질 것 입니다.
Simeon Visser

1
설명 Simeon에 감사드립니다. 마음에 들지 않는 한 가지 더 : 왜 우분투 14.04에서는 발생하지 않지만 우분투 12.04에서는 발생합니까?
가브리엘

4
@ 가브리엘 : 확실하지 않습니다- pip설치할 패키지를 찾을 수 없으면 내 경험에서 항상 중단됩니다. 그 말 pip은 적극적으로 개발되고 있으므로 내가 작업하지 않은 버전이있을 수 있습니다.
Simeon Visser

@SimeonVisser, "[바퀴]를 사용하면 임의의 코드를 실행하지 않고도 필요한 모든 패키지 목록을 수집 할 수 있습니다."
sschuberth

39

python3을 설치했지만 / usr / bin / python의 파이썬은 여전히 ​​2.7 이전 버전이었습니다.

이것은 효과 <pkg>가 있었다 pyserial(내 경우에는) :

python3 -m pip install <pkg>

1
이는 setuptools에 python_requires='>=3.0'요구 사항 이있을 때 발생 합니다.
Juan-Kabbali

11

2 시간 동안 검색 한 후 한 줄의 명령으로 문제를 해결할 수있는 방법을 찾았습니다. 패키지 버전을 알아야합니다 (패키지 버전 만 검색).

명령:

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

9

아래 명령이 나를 위해 일했습니다.

python -m pip install flask

4

다음 명령을 사용하여 파워 쉘을 통해 플라스크를 설치하십시오.

pip install --isolated Flask

이를 통해 설치시 환경 변수 및 사용자 구성을 피할 수 있습니다.


3

항상 그런 것은 아니지만 경우에 따라 패키지가 이미 존재합니다. 예를 들어-getpass. "pip list"로 나열되지는 않지만 가져 와서 사용할 수 있습니다.

여기에 이미지 설명을 입력하십시오

getpass를 pip 설치하려고하면 "getpass 요구 사항을 충족하는 버전을 찾을 수 없습니다"라는 오류가 발생합니다.


1

awscli아나콘다 (python 3.7)에서 Windows 10 을 설치 하는 동안이 오류가 발생했습니다 . 문제를 해결하는 동안 https://stackoverflow.com/a/49991357/6862405 답변으로 이동 한 다음 https://stackoverflow.com/a/54582701/6862405이동했습니다 . 마지막으로 내가 라이브러리를 설치해야합니다 것을 발견 PyOpenSSL, cryptography, enum34, idnaipaddress. 이것들을 설치 한 후 (단순히 pip install명령을 사용하여 ) 설치할 수있었습니다 awscli.


1

직장에서이 문제에 직면 한 경우. 이것은 당신을위한 해결책 일 수 있습니다.

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


-6

명령 프롬프트를 사용한 다음 관리자 권한으로 실행을 선택하십시오.

핍 버전 업그레이드

PIP를 업그레이드하려면이 명령을 입력 한 후 Enter를 누르십시오.

python.exe -m pip install-업그레이드 pip

파이썬 경로 C : \ Users \ Jack \ AppData \ Local \ Programs \ Python \ Python37 \ Scripts로 돌아갑니다.

Jupyter 노트북 유형

http : // localhost : 8888 / undefined / tree 로 리디렉션됩니다 -Jupyter 홈 페이지

그것이 도움이되기를 바랍니다 !!!!!!!!!!!


2
jupyter는 이것과 어떤 관계가 있습니까 ??
Bzazz

pip를 업그레이드하면 종속성을 어떻게 해결할 수 있습니까? 호출 디렉토리에 종속성이 필요합니다.
Rizwan Javid

-7

도움이 될 수 있습니다

sudo pip 설치 휠 == 0.29.0


4
죄송합니다. 중국어 나 다른 아시아 언어를 읽을 수 없습니다. 향후 추천 링크가 중단 될 수 있습니다. 여기에 필수 사항을 게시하세요. 맥락없이 낮은 품질의 답변을 게시했습니다.
ZF007

1
추천 링크는 일본어입니다 ... 영어로 링크를 공유하는 것을 고려하십시오
javidazac

6
이 코드는 모든 개발자가 이해할 수 있으며 일본어의 양은 다음 코드를 소개하는 제목보다 최소한이고 그 이상입니다 (너무 어려울 경우 번역하지만 진행 상황을 이해하기 위해 실제로 할 필요는 없습니다). 코드 예제가 명확하고 사용중인 외국어에 전적으로 의존하지 않는 한 영어 이외의 언어에는 문제가 없어야합니다.
rg88

6
@ rg88 주석에는 좋을 것입니다 (아마도주의 사항이있을 수 있음).하지만 스택 오버플로에 대한 답변은 독립적이며 확실해야합니다.
tripleee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.