我使用Ubuntu 18.04 LTS处理虚拟环境,但我卸载了它,并在windows 10上安装了Ubuntu 20.04 LTS,但现在当我创建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.
当我安装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.8.2-0ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
我在Ubuntu 20.04 WSL2 Win10 build 2004上遇到了同样的问题,当时我试图在D:\drive上创建虚拟环境,该虚拟环境是/mnt/D[NFS]。我能够通过以下命令通过卸载和重新安装元数据来解决它
sudo umount /mnt/d
sudo mount -t drvfs D: /mnt/d -o metadata
我找到了这个问题的解决方案:我在其中创建venv目录的挂载驱动器归root所有。如果您认为这可能是原因,请尝试在Ubuntu LTS主目录中创建一个venv。你应该能够在那里创建它。
在我的项目主管y中,我最终递归地使用了chown命令:
sudo chown --from=root:root -R myname:myname *
请注意,您可能不想在整个驱动器上执行此操作,因此在使用递归命令执行此操作时要小心
以下是设置全新Python 3.8环境的基本说明,除了在我制作venv之前,我确保自己是目录的所有者:
https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-programming-environment-on-an-ubuntu-20-04-server
注意:更正确的方法可能是使用wsl.conf指令更改驱动器的安装选项,但当我尝试时,它似乎没有帮助:https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/
在我偶然发现这一点之前,我做了其他事情:
- 我试着卸载/重新安装"Ubuntu 20.04 LTS",通过上面的digitalocean步骤,我能够逐字逐句地重现你的错误
- 我还卸载了名为"Ubuntu 20.04 LTS"的微软商店应用程序,并重新安装了一个简单标记为"Ubuntu"的应用程序。这可能没有什么区别,因为这两个选项都安装了Ubuntu 20.04 LTS的build 20200423
Ubuntu 20.04中Python 3.8的其他注意事项,针对我在激活新venv后直接遇到的问题,可能不适用于您:
- 您可能需要
pip install wheel
,这样像pip install jupyter
这样的命令就不会有错误
看完Phy6的Answer后,我只是试着把它作为sudo运行,它就成功了。
$ sudo python3 -m venv venv
我有点晚了,默认情况下,20.0.4船上有python3.8
如果您特别希望为其他版本安装virtualenv,请尝试安装该版本,然后重试。
例如:对于蟒蛇3.6
sudo apt-get install python3.6
并创建一个病毒环境
python3.6 -m venv venv_name
对我来说,发生这个问题是因为我试图使用另一个虚拟环境创建虚拟环境"venv ception";
我通过以下方式解决:
- 停用venv
- 然后创建一个新的供应商
即
# 1. deactivate the venv
deactivate
# 2. create and activate your new venv
mkdir .venv
python3 -m venv .venv
source .venv/bin/activate