ensurepip를 사용할 수 없기 때문에 pyvenv가 작동하지 않습니다.


88

며칠 전에 우분투 14.04에서 우분투 16.04로 업그레이드했습니다. 사용하여 가상 환경을 만들려고 할 때

pyvenv .venv

또는

python3 -m venv .venv

오류가 있습니다.

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: ['/usr/bin/python3.5', '-Im', 'ensurepip', '--upgrade', '--default-pip']

나는 둘 다 실행 해 보았다

sudo apt-get install python3-venv

sudo apt-get install python3.5-venv

그러나 그것은 내 문제를 해결하지 못했습니다.


내 문제는 릴리스 정보가있는 OS에서 해결되었습니다. 배포자 ID : LinuxMint 설명 : Linux Mint 18.3 Sylvia 릴리스 : 18.3
nix

대답 중 어느 것도 나를 위해 그것을 해결하지 못했습니다. 여전히 같은 오류에 붙어
쇼아 입 이크발에게

답변:


114

로케일 문제인 것 같습니다. 다음을 실행하여 해결됩니다.

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

이 스레드에서 발견 된 Python 로케일 오류 : 지원되지 않는 로케일 설정


34
미쳤지 만 사실입니다
user1703761

8
정말 호기심이 많지만 누군가가 그 이유를 알고 있습니까?
Juan Antonio

배포판 정보와 OS에 나를 위해없는 일을했다 : 디스트리뷰터 ID를 : 리눅스 민트 설명 : 리눅스 민트 18.3 실비아 자료 : 18.3
괜찬아

1
감사합니다. 여기서 최소한의 도커 설정을 실행합니다. 나는 결코 짐작 하지 않았다 .
Antti Haapala

1
그것은 우분투 보인다 @JuanAntonio (16.04 적어도) 밖으로 상자의 비 유니 코드 비스트로입니다,이 문제에 언급 한 바와 같이 : tickets.puppetlabs.com/browse/IMAGES-498은 우리가 우리의 서버 부트 스트랩에 로케일 설정을 추가해야 추측 .. .
Andreas Bergström

106

python3.6-venv를 설치하십시오.

sudo apt-get install python3.6-venv

솔루션에 감사드립니다. 16.04에서 작동했습니다 (물론 python3.6이 이미 설치되어 있음을 감안할 때). 내가 이해하지 못하는 것은 : 1. venv는 apt-get을 사용하여 정확하게 만들어야합니다. 표준 라이브러리의 일부입니다. 2. venv를 사용하는 pip의 기본 버전이 최신 버전이 아닌 이유는 무엇입니까?
Lionel Trebuchon 18.06.04

26
... 또는 sudo apt-get install python3.7-venv파이썬 3.7을 사용하는 경우
Alleo

12
... 또는 sudo apt-get install python3.8-venv파이썬 3.8을 사용한다면
cowlinator

3
... 또는 sudo apt-get install python3.9-venvPython 3.9를 사용하는 경우 (향후)
Andrey Semakin

7
... 또는 sudo apt-get install python3.10-venvPython 3.10을 사용하는 경우 (2020 년에서 살아남을 경우)
Steven667

44

다른 답변 중 하나가 지난번에 수정했지만 Python 3.7에서는 다음을 수행해야했습니다.

apt install python3-pip python3-setuptools python3.7-venv

뒤에

python3.7 -m venv /path/to/venv

22

Windows Linux Subsystem 및 Ubuntu 18.04에서 이것은 최근에 업그레이드하지 않았기 때문에 발생했습니다.

나는 달렸다 :

sudo apt update
sudo apt upgrade

그런 다음 sudo apt install python3-venv일했습니다.

또한 UTF-8 솔루션을 사전에 시도 .bashrc했으므로 ( 내 )의 일부로 만들었 으므로 기여 요인이 될 수 있습니다.


4
UTF-8 솔루션은 중요하지 않다고 생각합니다. 나는 또한 WSL Ubuntu 18.04 및 단계에 sudo apt update있으며 sudo apt install python3-venv충분했습니다.
Theja

1
이것은 나를 위해 일한 유일한 솔루션입니다! 나는 로케일을 변경하고 새로운 버전의 Python을 아무 소용이없이
설치해 보았습니다

2
이것은 나에게도 효과가 있었고, 몇 가지 다른 옵션을 시도했습니다. .. 작동하지 않았습니다.
Learner

훌륭하고, 나를 위해 일했습니다 !!!
Reckoner

9

제 경우에는 다음 단계가 효과가있었습니다.

  • Ubuntu 18.04.4 LTS
 $ sudo apt-get install python3-venv python3.7-venv
 $ python3.7 -m venv [your_path_to_virtual_env_here]

8

이것이 누구에게나 도움이되는 경우 Ubuntu 18.04에서 동일한 오류가 발생했습니다. 로케일 설정이 작동하지 않았고 설치하려고 python3-venv하면 오류가 발생했습니다.

$ sudo apt-get install python3-venv
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3-venv : Depends: python3.6-venv (>= 3.6.5-2~) but it is not going to be installed
                Depends: python3 (= 3.6.5-3) but 3.6.7-1~18.04 is to be installed
E: Unable to correct problems, you have held broken packages.

그리고 apt 저장소에는 두 가지 버전의 Python이있는 것 같습니다.

$ apt list python3 -a
python3/bionic-updates,now 3.6.7-1~18.04 amd64 [installed]
python3/bionic 3.6.5-3 amd64

설치를 시도했지만 Python3.6.5-3모든 종속성을 제거하고 싶었습니다. Python3.7을 설치하고이를 사용하여 venv를 생성하여 문제를 해결할 수있었습니다.

$ sudo apt-get install python3.7 python3.7-venv
$ python3.7 -m venv my_venv

1
이것은 나를 위해 일했습니다. .NET을 sudo apt install python3.8 python3.8-venv사용하여 가상 환경을 만들고 만들었습니다 python3.8 -m venv venv_name. 감사!
Amir A. Shabani

5

최근 Python-3.8 릴리스의 Ubuntu 18.04 에서이 문제가 발생했습니다 . 내 해결책은 필요한 패키지 를 제공하는 Deadsnakes PPA 를 추가하는 것이 었습니다 . 패키지는 저장소에 이미 있습니다. 이 블로그 포스트 덕분에 :python3.8-distutilspython3.8-venv

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.8
sudo apt install python3.8-distutils
sudo apt install python3.8-venv

참고 : 이것은 일시적인 해결책 일뿐입니다. 가까운 장래에 필수 python3.8-distutils패키지는 기본 Ubuntu 저장소에서 사용할 수 있습니다.

편집하다:

Ubuntu 20.04 LTS의 경우 python3-distutils 패키지는 Python 3.8을 기반으로합니다. 아직까지는 Ubuntu 18.04 LTS에 사용할 수있는 Python 3.8 패키지 distutils 패키지가 없습니다.

이 스레드의 다른 의견에서 언급했듯이 distutils필요하지 않을 수 있습니다. 내 유스 케이스를위한 것이었지만 추가 PPA를 추가하기 전에 해당 솔루션을 고려하십시오.


1
sudo apt install python3.8-venv저의 승자였습니다. 내가 찾을 수있는 다른 모든 도움은 python3-venv대신 설치하려고했습니다 .
user1717828

4

이 답변 에 도달했을 때 Ubuntu18에서 유사한 문제를 해결했습니다 . @Niko Rikken에서 일했던 것과 비슷합니다. accept에는 새로운 PPA와 "python3.8-distutils"패키지가 실제로 필요하지 않습니다. 나는 venv와 함께 새로운 python3.8 환경을 설치하고 있었고 이미 "python3-venv"가 설치되어 있고 최신 상태 였으므로 내 해결책은 "python3.8-venv"만 설치하는 것이 었습니다.

% sudo apt-get install python3.8-venv

그리고이 라인이 작동했습니다.

% python3.8 -m venv ~/envs/new_env
% source ~/envs/new_env/bin/activate

3

시도해보십시오 : python3.* -m venv myvenv -

*를 특정 버전의 파이썬으로 바꾸는 것을 잊지 마십시오.



2

당신의 의도가 python3.8 포함을 얻는 것이라면. Ubuntu 18.04의 pip 및 venv :

  • sudo apt install python3.8 python3.8-venv python3-pip # python3.8-pip 패키지가 없습니다.
  • python3.8 -m venv venv
  • source venv/bin/activate
  • python --version #-> 파이썬 3.8.0
  • pip --version #-> pip 9.0.1 from /home/user/venv/lib/python3.8/site-packages (python 3.8)

2

나는 같은 문제에 직면했고 해결책을 찾고 있습니다. 문제에 관한 것입니다.

시스템 파이썬에 대해 Debian / Ubuntu에서 ensurepip가 비활성화되어 있습니다.

그리고 이것은 내 솔루션 :

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

없는 파이썬 환경 pip은 그다지 유용 하지 않을 수 있습니다.
ankostis

1

실행할 때 기존 프로젝트에 대해 동일한 문제가 발생했습니다 python3 -m venv venv. 방금 Ubuntu 및 Python 버전을 업데이트했습니다. 이미 존재하는 venv폴더를 제거한 후 문제가 해결되었습니다. (또한 UTF-8 솔루션을 시도했습니다 .)


1

내 문제는 권한 및 소유권과 관련이 있습니다. 현재 디렉터리의 소유자로 다른 사용자로 로그인하여이 오류가 발생했습니다. 모든 권한을 검토하고 수정 한 후 venv regularl을 설치할 수있었습니다.


이것은 정확히 내 문제였습니다. 현재 사용자 홈 디렉토리로 변경하면 명령이 제대로 실행되었습니다. 이것은 실제로 권한 문제가 발생했을 때 python3-venv가 설치되지 않았다고 가정하는 버그 여야합니다.
Cosmicnet

1

다음 명령을 시도하십시오.

sudo apt install python-virtualenv
virtualenv --python=python3.6 myenv

이러한 명령이 작동 할 수 있습니다.

E: Unable to locate package python3-venv 다음과 같은 오류가 발생 하면 다음 명령을 시도하십시오.

sudo apt install python3.6-venv

0

이 모든 제안이 도움이되지 않았습니다.

$ apt list python3 -a
python3/now 3.6.7-1~18.04 amd64 [installed,local]
python3/bionic 3.6.5-3 amd64

그래서 나는 : sudo apt-get install python3/bionic

이제 python 3.6.5가 있고 apt-list가 더 나은 목록을 보여줍니다. $ apt list python3 -a python3 / bionic 3.6.5-3 amd64

함께 sudo apt-get install python3-venv/bionic내가 설치할 수 pythno3-venv 및 모든했다.


나는 약 5 년 동안 우분투를 적극적으로 사용하고 있지만 그 구문 "python3 / bionic"이전에는 본 적이 없습니다. : O 귀하의 답변이 제 문제를 해결해 주셨습니다. 감사합니다.
kodmanyagha

다행 이네요. 구문도 몰랐습니다. "apt list"가 패키지를 그렇게 표시했기 때문에 간단히 시도했습니다. ;-) 그 대답이 도움이된다면 "up"버튼을 누를 수 있습니다.
Stefan

비표준 패키지 이름을 사용할 수 있다면 비표준 패키지 소스가 구성되어 있음을 의미합니다. apt-cache policy python3/bionic이 패키지의 출처를 파악하는 데 도움이 될 수 있습니다. 우분투가 아닙니다.
tripleee

0

제 경우에는 실행이 sudo apt-get install python3.8-venv성공했지만 실행할 때 동일한 오류가 표시됩니다 python3 -m venv .venv.

마지막으로이 명령은 로케일을 변경하지 않고 작동합니다.

python3.8 -c 'import venv; venv.create(".venv", with_pip=True)'


0

이것은 나를 위해 일했습니다 ... 첫째, 나는 달렸습니다

sudo apt-get update

그때

sudo apt-get install -y python3-venv zip


-1
sudo apt-get update 

나를 위해 일했습니다.

편집 : 정확히 무엇이 문제인지 알고 싶지만 모르겠습니다. 질문자가 설명한대로 명령을 실행하려고 시도했는데 오류가 발생하고 업데이트되어 작동했습니다. :-디


3
귀하의 답변으로 질문이 해결되는 이유를 자세히 설명해주십시오.
RyanNerd

1
명령을 실행하고 응답을 구성하지 않습니다 패키지 트리를 업데이트, 정교한하시기 바랍니다
안드레스 펠리페

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