我正在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
我似乎无法找到有关此问题的任何信息来解决它。我该如何解决这个问题,或者在哪里可以更好地理解它?
答案 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
答案 2 :(得分:0)
尝试:
pipenv install --python=/usr/bin/python3.6
pipenv --python /usr/bin/python3
答案 3 :(得分:0)
sudo pip3 install virtualenv==20.0.23