在WSL中安装python 3的venv(Ubuntu)

时间:2020-04-30 16:41:59

标签: python python-3.x ubuntu windows-subsystem-for-linux python-venv

我正在尝试在Windows子系统上为Ubuntu和Linux配置venv

我尝试过的事情:

1)通过venv安装pip(准确地说是pip3

pip3 install venv

我收到以下错误

ERROR: Could not find a version that satisfies the requirement venv (from versions: none)
ERROR: No matching distribution found for venv

2)通过venvapt安装apt-get

sudo apt install python3-venv

在这种情况下,安装似乎已完成,但是当我尝试使用python3 -m venv ./venv创建虚拟环境时,出现错误,告诉我执行apt-get install python3-venv(我刚刚做了!)< / p>

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: ['/mnt/c/Users/Vicubso/.../code/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

我还阅读了以下帖子 post 1post 2,以及其他几个。这些似乎都不能解决我的问题。

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:8)

这里没有任何东西适合我,但是在WSL2中确实如此:

apt-get update
apt-get install libpython3-dev
apt-get install python3-venv
python3.8 -m venv whatever

祝你好运!

答案 1 :(得分:2)

尝试一下:

安装点子:

sudo apt-get install python-pip

安装虚拟环境:

sudo pip install virtualenv

将您的虚拟环境存储在某个地方:

mkdir ~/.storevirtualenvs

现在您应该可以创建一个新的virtualenv

virtualenv -p python3 yourVenv

要激活:

source yourVenv/bin/activate

要退出新的virtualenv,只需deactivate

答案 2 :(得分:1)

这比需要的事更令人头疼。似乎与WSL <-> Windows文件系统映射问题有关。 This blog post也许可以更好地描述它,但是网络是您需要将额外的元数据和文件存储在特定的挂载上,如in this MS devblog所述。

我通过运行以下内容解决了该问题:

sudo umount /mnt/c
sudo mount -t drvfs C: /mnt/c -o metadata

之后,我无需sudo就可以创建python venv。