tl;dr: 새 가상 환경을 생성할 때마다 pip 버전이 10.0.1로 재설정되고 전역 18.0 설치에서 자동으로 복제되지 않는 이유는 무엇입니까?

tl;dr: 새 가상 환경을 생성할 때마다 pip 버전이 10.0.1로 재설정되고 전역 18.0 설치에서 자동으로 복제되지 않는 이유는 무엇입니까?

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 -VPython 3.7.0.

답변1

pip새로운 가상 환경 생성 시 재설정되지 않습니다. 새 가상 환경을 생성하는 경우 venv이 환경에서 및를 새로 설치하십시오. 버전은 어디서 나오나요? 실행 시 설치는 모듈의 책임입니다.pipsetuptoolspippython -m venvpipensurepip새 설치가 부팅됩니다 pip. pipPython 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

virtualenvPython보다 더 자주 업데이트되므로 최신 버전은 최신 패키지를 설치합니다. 사용 예:

$ 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)

관련 정보