pipenv无法创建虚拟环境

时间:2020-07-09 17:22:57

标签: python windows-subsystem-for-linux pipenv

我正在Windows Linux子系统(WSL)上运行Ubuntu。

我在终端中使用Ubuntu代码打开VSCode。

我安装了Python 3.8.2,pip 20.0.2和pipenv版本2020.6.2。

我创建一个文件夹或Python项目,然后cd进入其中。

我输入“ pipenv shell”。

我收到以下错误:

Creating a virtualenv for this project…
Pipfile: /home/user/Python/ExampleOne/Pipfile
Using /usr/bin/python3 (3.8.2) to create virtualenv…
⠋ Creating virtual environment...ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'

✘ Failed creating virtual environment 

我似乎无法找到有关此问题的任何信息来解决它。我该如何解决这个问题,或者在哪里可以更好地理解它?

4 个答案:

答案 0 :(得分:2)

我让它在与您的设置相同的设置上运行(运行Ubuntu 20.04,pip 20.0.2,python 3.8.2,pipenv 2020.6.2的WSL1)。但是,我也想出了如何复制您的问题,所以我想我知道这是怎么回事。该错误实际上是virtualenv而不是pipenv本身的问题(pipenv是基于virtualenv构建的)。您可以通过尝试创建虚拟环境来验证这一点:

virtualenv my_env

或:

python -m virtualenv my_env

您应该得到相同的错误。这仅是WSL中的问题,而不是普通的Ubuntu中的问题,这与Window的路径长度限制有关(请参见this github issue)。幸运的是,如果您使用pip而不是apt安装pipenv,它将使用Windows可以处理的较短路径。试试这个:

sudo apt autoremove pipenv
pip install pipenv

现在尝试创建您的pipenv。希望这可以解决您的问题。它对我有用。

答案 1 :(得分:1)

将 virtulenv 版本降级到 20.0.23 解决了我的问题

pip install virtualenv==20.0.23

来源:https://github.com/pypa/virtualenv/issues/1873

答案 2 :(得分:0)

尝试:

pipenv install --python=/usr/bin/python3.6
pipenv --python /usr/bin/python3

说明:https://github.com/pypa/pipenv/issues/3488

答案 3 :(得分:0)

sudo pip3 install virtualenv==20.0.23