시스템 파이썬을 위해 데비안 / 우분투에서 ensurepip가 비활성화되어 있습니다.


10

Django 응용 프로그램 개발을 위해 가상 환경을 만들려고합니다. 내가 사용하는 특공대 :

vagrant@vagrant:/var/www/djangogirls$ python3 -m venv myvenv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/var/www/djangogirls/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']


vagrant@vagrant:/var/www/djangogirls$ sudo apt-get install python3-venv
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-venv is already the newest version (3.5.1-3).
The following packages were automatically installed and are no longer required:
  javascript-common libjs-jquery libjs-sphinxdoc libjs-underscore python-pbr python-pkg-resources
  python-six python-stevedore python3-virtualenv virtualenv virtualenv-clone
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 108 not upgraded.

vagrant@vagrant:/var/www/djangogirls$ python3 -m ensurepip
ensurepip is disabled in Debian/Ubuntu for the system python.

Python modules for the system python are usually handled by dpkg and apt-get.

    apt-get install python-<module name>

Install the python-pip package to use pip itself.  Using pip together
with the system python might have unexpected results for any system installed
module, so use it on your own risk, or make sure to only use it in virtual
environments.


vagrant@vagrant:/var/www/djangogirls$ rm -r myvenv/ 

vagrant@vagrant:/var/www/djangogirls$ python3 -m venv myvenv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/var/www/djangogirls/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

보시다시피, python3-venv가 누락되어 myvenv를 만들 수 없습니다. 이미 설치했지만 pip가 없는지 확인하십시오. 검색 후 시스템 (Ubuntu 16.04)이 패키지 사용을 권장하지 않는 것 같습니다. 누군가이 문제를 해결하도록 도와 줄 수 있습니까?


실패한 실제 명령 /var/www/djangogirls/myvenv/bin/python3 -Im ensurepip ...은 완전히 다른 이유로 실패 할 수 있습니다.
muru

답변:


14

여기에 관련 버그 보고서가 있습니다

우분투에서 pippip 구성 요소가 누락되었거나 비활성화되었습니다

그 주위의 방법은 핍없이 가상 환경을 만드는 것입니다

python3 -m venv myvenv --without-pip

이 경우에는 pippip 구성 요소가 호출되지 않고 새로운 환경이 생성됩니다.

그러나 가상 환경에서 핍이 누락되면 문제가 될 수 있습니다.

한 가지 솔루션은 시스템 pip3 패키지를 설치하고 가상 환경 내에서 시스템 pip 모듈을 직접 사용하는 것입니다.

시스템 pip 모듈을 사용하려면 가상 환경에서 시스템 사이트 패키지에 액세스해야합니다.

  1. 시스템 python3 pip 패키지 설치

    sudo apt-get install python3-pip
  2. pip없이 시스템 사이트 패키지에 액세스 할 수있는 가상 환경을 만듭니다.

    python3 -m venv myvenv --without-pip --system-site-packages

이제 시스템 pip 모듈을 사용하여 가상 환경에 파이썬 패키지를 설치할 수 있습니다.

대신 pip install Django명시 적으로 사용해야합니다

myvenv/bin/python3 -m pip install Django

또는 가상 환경을 먼저 활성화 할 수 있습니다

source myvenv/bin/activate
python3 -m pip install Django

python3 -m pip --version 어떤 파이썬 환경이 사용되는지 쉽게 알 수 있습니다.

여기 에있는 솔루션을 기반으로 하지만 python get-pip.py가상 환경에서 제안 된 것을 사용하지 마십시오. 시스템 pip명령 을 훔치기 때문입니다.


이 문제에 대한 데비안 버그는 다음과 같습니다. bugs.debian.org/cgi-bin/bugreport.cgi?bug=901601
nnyby

1

아나콘다가 불명예를 당하다

당신이 사용하는 경우 아나콘다 또는 CONDA을 이 솔루션을 사용하면 도움이 될 수 있습니다 :

Conda는 Python 자체를 패키지로 관리 하므로 Python 패키지 만 관리하는 pip와 달리 conda 업데이트 파이썬이 가능합니다. Conda는 Anaconda 및 Miniconda (Python 및 Conda만으로 설치하기 쉬운 다운로드)로 제공됩니다.

나를 위해 매우 혼란 스럽지만 터미널 창에서 키보드를 손에 넣으십시오.

conda update python

이 사진을 보시고 , 아마도이게 당신을 도와 줄 좋은 하루 되세요!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.