pip은 사용자 지정 버전 대신 잘못된 캐시 패키지 버전을 사용합니다.
구체적으로 psycopg2 v2.4.1을 설치해야 합니다.잘못했습니다.
pip install psycopg2
대신:
pip install psycopg2==2.4.1
그러면 이전 버전이 아닌 2.4.4가 설치됩니다.
이제 pip uninstall psycopg2를 제거하고 올바른 버전으로 재설치하려고 해도 pip이 처음 다운로드한 캐시를 다시 사용하고 있는 것 같습니다.
다운로드 캐시를 지우고 명령어에 포함된 특정 버전을 사용하도록 pip을 강제하려면 어떻게 해야 합니까?
pip 6.0 이후를 사용하고 있는 경우는,--no-cache-dir
option(소스).
pip 6.0보다 오래된 pip을 사용하는 경우 를 사용하여 업그레이드합니다.pip install -U pip
.
시스템에 적합한 캐시 디렉토리를 클리어합니다.
Linux 및 Unix
~/.cache/pip # and it respects the XDG_CACHE_HOME directory.
OS X
~/Library/Caches/pip
창문들
%LocalAppData%\pip\Cache
갱신하다
pip 이후에서는 명령줄에 다음과 같이 입력하면 운영 체제의 전체 경로를 쉽게 찾을 수 있습니다.
pip cache dir
Ubuntu 설치 출력 예:
➜ pip3 cache dir
/home/tawanda/.cache/pip
pip 20.1 이후에서는 다음 작업을 수행할 수 있습니다.
pip cache remove matplotlib
: matplotlib와 관련된 모든 휠 파일을 pip 캐시에서 제거합니다.pip cache purge
: pip의 캐시에서 모든 휠 파일을 지웁니다.pip cache dir
: 캐시의 위치를 가져옵니다.
어떤 이유로 pip 캐시를 사용하지 않는 경우(공식 문서에 따르면 이는 잘못된 생각) 옵션은 다음과 같습니다.
pip install --no-cache-dir <package>
: 캐시를 사용하지 않고 패키지를 설치합니다.pip config set global.no-cache-dir false
: (모든 명령에서) 캐시를 사용하지 않도록 pip을 설정합니다.
이 질문에 관한 이력(pip maintainer hat을 사용):
질문에서 언급된 "캐싱으로 인해 잘못된 버전 설치" 문제는 2013년 pip 1.4에서 해결되었습니다.
빌드 디렉토리의 청소와 재사용에 관한 많은 문제를 해결합니다.(#413, #709, #634, #602, #939, #865, #948)
6.0 페이지 이후(2014년!)pip install
,pip download
그리고.pip wheel
캐시를 사용하지 않도록 명령어를 지정할 수 있습니다.--no-cache-dir
선택.(예:pip install --no-cache-dir <package>
)
그땐, 그래, 지나갔지--no-cache-dir
이 버그를 회피할 수 있는 유일한 옵션입니다.이 검색 결과가 "pip cache remove"의 상위 검색 결과인 것은 유감입니다.:)
pip 10.0(2018년 이전!)부터 캐시를 항상 무시하도록 pip을 구성하는 데 사용할 수 있는 명령어가 추가되었습니다.이는 항상 관련 파일을 수동으로 편집함으로써 가능했지만, 이 기능을 명령줄로 표현했습니다.pip의 구성 메커니즘에 대한 자세한 내용은 여기를 참조하십시오.
pip 20.1 이후 pip에는 pip 캐시의 내용을 관리하는 명령어가 있습니다.
https://pip.pypa.io/en/latest/reference/pip_install.html#caching에 있는 매뉴얼에서 다음 문서를 참조하십시오.
v6.0 이후 pip은 웹 브라우저와 유사하게 작동하는 기본 캐시를 제공합니다.캐시가 기본적으로 켜져 있고 기본적으로 올바른 작업을 수행하도록 설계되어 있으면 캐시를 비활성화하고 항상 PyPI에 액세스할 수 있습니다.
--no-cache-dir
선택.
pip은 캐시를 무시하는 패키지를 설치할 수 있습니다.
pip --no-cache-dir install scipy
pip 20.1b1이 2020년 4월 21일에 출시되어 "추가"된 이후pip cache
pip의 휠 캐시를 검사/검출하기 위한 명령어"는 다음 명령을 실행할 수 있습니다.
pip cache purge
레퍼런스 가이드는 다음과 같습니다.
https://pip.pypa.io/en/stable/reference/pip_cache/
해당하는 풀 요청은 여기에 있습니다.
Ubuntu에서는 삭제해야 했습니다./tmp/pip-build-root
.
를 설정하는 경우는,--no-cache-dir
기본적으로는 pip.conf에 넣을 수 있습니다.
[global]
no-cache-dir = false
주 1: 혼란스럽지만,no-cache-dir
실제로 설정할 필요가 있는 옵션false
나한테 묻는다면 꽤 바보같은...원래 그런 거예요.이 문제를 해결하기 위한 github 문제가 있습니다.
주 2: 장소pip.conf
OS에 따라 다릅니다.상세한 것에 대하여는, 메뉴얼을 참조해 주세요.
방금 비슷한 문제가 있었는데 패키지를 업그레이드하기 위해 pip을 얻는 유일한 방법은 pip을 삭제하는 것이었습니다.$PWD/build
(%CD%\build
이전에 완료되지 않은 설치 또는 이전 버전의 pip에서 남겨졌을 수 있는 디렉토리(설치 성공 후 빌드 디렉토리가 삭제됩니다).
archlinux pip 캐시는 ~/.cache/pip에 있습니다.이 캐시에 있는 http 폴더를 삭제하면 문제를 해결할 수 있습니다.
Mac에서 캐시 디렉토리를 삭제해야 했습니다.~/Library/Caches/pip/
간단하게
rm -d -r "$(pip cache dir)"
Windows 7 에서는, 삭제가 필요했습니다.%HOMEPATH%/pip
.
virtualenv를 사용하는 경우build
디렉토리 루트 아래에 있습니다.
Windows 7에서 %TEMP%\pip-build를 삭제해야 했습니다.
(pyvenv.d) jdoe$ pip --version # pip version for this answer (or newer).
pip 21.1.1
(pyvenv.d) jdoe$ pip cache --help # Review all options available to you.
(pyvenv.d) jdoe$ pip cache dir # Cache-directory for pip(1).
/home/jdoe/.cache/pip
(pyvenv.d) jdoe$ pip cache purge # Purge cache-directory (by example).
Files removed: 621 # If cache-directory is already empty, the
# output will be: "ERROR: No matching packages".
Mac OS(Mavericks)에서는 삭제해야 했습니다./tmp/pip-build/
캐시를 삭제하고 재구축하는 것이 더 좋은 방법입니다.이와 같이 다른 virtualenv에 다시 설치하면 설치할 때마다 캐시를 빌드하는 대신 캐시를 사용합니다.
예를 들어 설치 시 캐시된 휠을 사용한다고 표시됩니다.
Processing <some_prefix>/Library/Caches/pip/wheels/d0/c4/e4/e49fd07bca8dda00dd6b4bbc606aa05a25aacb00d45747a47a/horovod-0.19.3-cp37-cp37m-macosx_10_9_x86_64.wh
해당 파일을 삭제하고 설치를 다시 시작하십시오.
(...) pip이 캐시를 재사용하고 있는 것 같습니다(...).
그런 일은 일어나지 않을 거라고 확신해요.캐시가 아닌 빌드 디렉토리를 잘못 재사용하는 데 사용되는 pip입니다.이는 2013-07-23에 출시된 pip 버전 1.4에서 수정되었습니다.
언급URL : https://stackoverflow.com/questions/9510474/pip-uses-incorrect-cached-package-version-instead-of-the-user-specified-version
'source' 카테고리의 다른 글
MySQL/MariaDB의 PERCENTILE_CONT 대체 방법 (0) | 2022.10.19 |
---|---|
AWS Aurora용 Spring Boot의 MariaDB 구성 - Reader 인스턴스에 쿼리 라우팅 쓰기 (0) | 2022.10.19 |
여러 인수로 기능하는 함수에 목록 전달 (0) | 2022.10.19 |
stdin은 어떻게 읽어요? (0) | 2022.10.19 |
Python에서 긴 줄을 여러 줄로 나눌 수 있습니까? (0) | 2022.10.19 |