[python] pip를 사용하여 특정 패키지 버전 설치

--no-site-packages옵션으로 만든 새로운 virtualenv를 사용하여 MySQL_python 어댑터 버전 1.2.2를 설치하려고합니다 . PyPi에 표시된 현재 버전은 1.2.3 입니다. 이전 버전을 설치하는 방법이 있습니까? 나는 이것을해야한다는 기사를 발견했다.

pip install MySQL_python==1.2.2

그러나 설치되면 여전히 MySQL_python-1.2.3-py2.6.egg-info사이트 패키지에 표시됩니다. 이것은이 패키지에 특정한 문제입니까, 아니면 제가 잘못하고 있습니까?



답변

TL; DR :

  • pip install -Iv(즉 pip install -Iv MySQL_python==1.2.2)

먼저, 당신이하려는 일에 두 가지 문제가 있습니다. 이미 설치된 버전이 있으므로 현재 기존 드라이버를 제거하거나 사용해야합니다.pip install -I MySQL_python==1.2.2

그러나 곧 이것이 작동하지 않음을 알게 될 것입니다. pip의 설치 로그를 보거나 수행 pip install -Iv MySQL_python==1.2.2하면 PyPI URL 링크가 MySQL_python v1.2.2에서 작동하지 않는 것을 알 수 있습니다. 여기에서 확인할 수 있습니다 : http://pypi.python.org/pypi/MySQL-python/1.2.2

다운로드 링크 404 및 대체 URL 링크는 sourceforge.net의 최근 업그레이드 및 PyPI의 오래된 URL로 인해 무한정 리디렉션됩니다.

따라서 드라이버를 올바르게 설치하려면 다음 단계를 수행하십시오.

pip uninstall MySQL_python
pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download


답변

pip install명령 으로 버전 범위를 사용할 수도 있습니다 . 이 같은:

pip install 'stevedore>=1.3.0,<1.4.0'

패키지가 이미 설치되어 있고 다운 그레이드하려는 경우 다음과 --force-reinstall같이 추가 하십시오.

pip install 'stevedore>=1.3.0,<1.4.0' --force-reinstall


답변

이 게시물 에서 제안한 한 가지 방법은 다음과 같이 버전을 언급하는 pip것입니다.

pip install -Iv MySQL_python==1.2.2

==, 해당 버전 만 설치하려면 버전 번호를 사용 하고 언급하십시오. -I, --ignore-installed이미 설치된 패키지를 무시합니다.


답변

처음, 업그레이드 또는 다운 그레이드 사용 여부에 관계없이 특정 Python 패키지 버전을 설치하려면 다음을 수행하십시오.

pip install --force-reinstall MySQL_python==1.2.4

MySQL_python 버전 1.2.2를 사용할 수 없으므로 다른 버전을 사용했습니다. 색인에서 사용 가능한 모든 패키지 버전을 보려면 해당 버전을 제외하십시오.

pip install MySQL_python==


답변

패키지가 이미 설치되어 있으면 pip는 다른 버전으로 덮어 쓰지 않을 것이라고 생각합니다. -I이전 버전을 무시하는 데 사용 합니다.


답변

때때로 이전에 설치된 버전이 캐시됩니다.

~$ pip install pillow==5.2.0

: 그것은 다음 반환
요구 사항이 이미 충족 : /home/ubuntu/anaconda3/lib/python3.6/site-packages 베개 == 5.2.0 (5.2.0)

–no-cache-dir을 -I와 함께 사용하여 이것을 덮어 쓸 수 있습니다

~$ pip install --no-cache-dir -I pillow==5.2.0


답변

이것은 pip 10 버전에서 도입 된 주요 변경 사항으로 보였으므로 호환되는 버전으로 다운 그레이드했습니다.

pip install 'pip<10' 

이 명령은 pip에게 버전 10보다 낮은 버전의 모듈을 설치하도록 지시합니다. virutalenv에서이 작업을 수행하면 사이트의 Python 설치를 방해 하지 않습니다.