pip cache 디렉터리 옮기는 방법
다음의 디렉터리를 살펴 보면,
%LOCALAPPDATA%\pip
하위에 cache 디렉터리가 있고 그 용량이 1.59GB를 넘고 있습니다. 당연히 옮길 수 있으면 좋겠지요. ^^ 검색해 보면 다음의 자료들이 나오는데,
bryanveloso/pip.conf
; https://gist.github.com/bryanveloso/328409
Python PIP local cache
; https://www.techiediaries.com/python-pip-local-cache/
pip.ini 파일의 위치는 다음의 명령어로 구할 수 있어,
c:\temp> pip config -v debug
env_var:
env:
global:
C:\ProgramData\pip\pip.ini, exists: False
site:
e:\Python37\pip.ini, exists: False
user:
%APPDATA%\pip\pip.ini, exists: False
그럼 이런 식으로 ini 파일을 구성하면 될 듯합니다.
[global]
download-cache = e:/pip_cache
log-file = e:/pip_cache/tmp/pip-log.txt
그런데 실제로 저렇게 해도 효과가 없습니다. 적용 여부는 다음의 명령어로 확인할 수 있는데요,
c:\temp> pip cache dir
%LOCALAPPDATA%\pip\cache
ini 파일의 download-cache 설정을 무시해버립니다. 재미있는 건 "log-file" 설정은 또 통합니다. ^^; (혹시 INI를 통한 방법을 아시는 분은 덧글 부탁드립니다. ^^)
다행히 좀 더 검색해 보면 "PIP_CACHE_DIR" 환경 변수로 제어할 수 있다고 합니다. 실제로 환경 변수 설정 후에는, 예를 들어 PIP_CACHE_DIR=e:\pip_cache로 설정한 경우 pip 명령어로도 잘 확인이 됩니다.
c:\temp> pip cache dir
e:\pip_cache
이제 %LOCALAPPDATA%\pip 디렉터리를 삭제해도 무방하지만, 다운로드에 사용한 시간이 아깝다면 ^^ 새로운 디렉터리로 복사해 재사용해도 됩니다.
참고로 Anconda의 경우에는,
Configuring a shared package cache
; https://docs.anaconda.com/anaconda/user-guide/tasks/shared-pkg-cache/
아래의 문서를 편집해,
%USERPROFILE%\.condarc
pkgs_dirs에 넣으면 된다고.
pkgs_dirs:
- /path/to/shared_directory
"C:\Python37" 디렉터리에서 "e:\Python37"로 Python 디렉터리를 이동했더니, 이후로 pip 실행 시 다음과 같은 오류가 발생합니다.
c:\temp> pip
Fatal error in launcher: Unable to create process using '"C:\Python37\python.exe" "e:\Python37\Scripts\pip.exe" ': The system cannot find the file specified.
음... ^^; 그냥 초기화를 시키면 다시 잘 동작합니다.
c:\temp> python -m pip install --upgrade --force-reinstall pip
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]