tl;dr: 새 가상 환경을 생성할 때마다 pip 버전이 10.0.1로 재설정되고 전역 18.0 설치에서 자동으로 복제되지 않는 이유는 무엇입니까?
새로운 가상 환경을 만들 때마다 내 pip
환경이 오래되었다는 메시지가 나타납니다. 난 달린다
$ pip install --upgrade pip
다음 출력을 얻습니다.
Collecting pip
Using cached https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 10.0.1
Uninstalling pip-10.0.1:
Successfully uninstalled pip-10.0.1
Successfully installed pip-18.0
pip -V
가상 환경 외부에서 실행하면 반환됩니다.
pip 18.0 from /usr/lib/python3.7/site-packages/pip (python 3.7)
따라서 새로운 가상 환경을 생성할 때만 오래된 버전이 생성됩니다.
이것이 Python 가상 환경 모듈의 기능입니까?
기록상으로 새 가상 환경을 만들기 위해 실행하는 명령은 다음과 같습니다.
$ python -m venv <venv>
실행해서 설치했어요
$ pacman -S python python-pip
Arch에서 실행했는데 출력 python -V
은 Python 3.7.0
.
답변1
pip
새로운 가상 환경 생성 시 재설정되지 않습니다. 새 가상 환경을 생성하는 경우 venv
이 환경에서 및를 새로 설치하십시오. 버전은 어디서 나오나요? 실행 시 설치는 모듈의 책임입니다.pip
setuptools
pip
python -m venv
pip
ensurepip
새 설치가 부팅됩니다 pip
. pip
Python 3.7과 함께 번들로 제공되는 버전을 확인할 수 있습니다 .
$ python3 -c "import ensurepip; print(ensurepip.version())"
10.0.1
모듈은 표준 라이브러리의 일부이므로 이 콘텐츠를 직접 업데이트하거나 수정할 수 없습니다. Python 3.7이 출시되었을 때 최신 pip
버전이 10.0.1이었으므로 번들로 제공되었습니다(관련 질문). 버전 18은 나중에 출시될 예정입니다. 다음에는 다음 Python 버전(3.7.1)에 업데이트될 수 있습니다.
대안: 사용virtualenv
pip
새로운 가상 환경에 최신 버전을 설치하려면 다음으로 전환하세요 virtualenv
.
$ pip install --user virtualenv
또는 다음 명령을 사용하여 시스템 전체에 설치하십시오 pacman
.
$ pacman -S python-virtualenv
virtualenv
Python보다 더 자주 업데이트되므로 최신 버전은 최신 패키지를 설치합니다. 사용 예:
$ virtualenv myenv --python=python3 --quiet
$ source myenv/bin/activate
(myenv) $ pip --version
pip 18.0 from /Users/hoefling/.virtualenvs/myenv/lib/python3.7/site-packages/pip (python 3.7)