我正在尝试在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)通过venv
和apt
安装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 1, post 2,以及其他几个。这些似乎都不能解决我的问题。
任何帮助将不胜感激。
答案 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。