pip3无法在Windows 10上的Ubuntu 20.04 LTS上创建虚拟环境,因为ensurepip不可用



我使用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";

我通过以下方式解决:

  1. 停用venv
  2. 然后创建一个新的供应商

# 1. deactivate the venv
deactivate
# 2. create and activate your new venv
mkdir .venv
python3 -m venv .venv
source .venv/bin/activate

相关内容

  • 没有找到相关文章

最新更新