ModuleNotFoundError:当我用virtualenv创建新环境时,没有名为'virtualenv.seed.embed.via_app_data'的模块。

87 人关注

我已经安装了virtualenv,从上个月开始用virtualenv创建了一个venv,但是现在我不能创建其他的env。 在Ubuntu 20.04终端中,我尝试了一下。

$virtualenv my_env

But its result is

ModuleNotFoundError: No module named 'virtualenv.seed.embed.via_app_data'

之后,我检查了它的版本。

$virtualenv --version
virtualenv 20.0.17 from /usr/lib/python3/dist-packages/virtualenv/__init__.py

我还通过$pip3列表检查了它,virtualenv仍然存在。看来这个问题是在我安装Anaconda之后出现的。

3 个评论
我也面临同样的错误,希望有一天这个错误能得到解决。
for those of you using poetry & on Ubuntu 20.04 or its variant this github上的线程帮助我解决了我的问题。
谢谢@Umar.H,这对我在(基于Ubuntu的)Mint 20.2上用诗词工作(tl;dr: sudo apt remove --purge python3-virtualenv )。
python
virtualenv
Tung Ng.
Tung Ng.
发布于 2020-08-20
13 个回答
techcheese
techcheese
发布于 2022-07-17
已采纳
0 人赞同

@yushulx 我也遇到了同样的问题。我通过 pip3 sudo apt install python3-virtualenv 安装,都出现了错误,但在我运行 pip3 uninstall virtualenv 之后我可以顺利地创建一个virtualenv

是的,我记得这一点,当我遇到这个问题时,我真的很喜欢它。
这对我来说也很有效。有谁明白这里发生了什么?
我反过来做了 sudo apt remove python3-virtualenv ,这也是有效的。显然是把这些东西混在一起的结果。
isalgueiro
isalgueiro
发布于 2022-07-17
0 人赞同

尝试直接使用venv模块来创建虚拟环境

python3 -m venv my_env
    
这个问题不能被解决吗?
我认为 virtualenv 使用的是与你的 python3 默认安装不同的python安装,因此出现了ModuleNotFoundError。最简单的方法是直接使用venv python 3模块。我不知道如何让virtualenv工具使用与 python3 链接使用的相同的python环境。
To activate source my_env/bin/activate
Victor Paléologue
Victor Paléologue
发布于 2022-07-17
0 人赞同

为了在Ubuntu 20.04上解决这个问题,我不得不从系统中卸载 virtualenv apt remove python3-virtualenv ,然后用 pip 重新安装。 pip install --user virtualenv --force-reinstall 。我遇到了关于依赖关系冲突的错误,我通过调用 pip install --user ${package} --force-reinstall 修复了所有涉及的软件包。

this worked for me on Ubuntu 20.04 LTS
user4851
在Ubuntu 20.04上也一样,但我只需要第一部分(卸载python3-virtualenv)。不知道这是否有关系,但系统同时安装了python3-venv和python3-virtualenv(通过apt)。我不明白为什么这样做了,但它确实做到了。
sudo apt remove python3-virtualenv works for me.
Edalat Feizi
Edalat Feizi
发布于 2022-07-17
0 人赞同

替换代码0】默认与python本身一起安装,当你通过 pip3 安装 virtualenv 并试图使用 pipenv 创建虚拟环境时,你会得到这个错误。

ModuleNotFoundError: No module named 'virtualenv.seed.embed.via_app_data

使用apt list --installed检查已安装的virtualenv的版本。

python3-virtualenv/focal,focal,now 20.0.17-1 all [installed,automatic] with the installed virtualenv by pip3 min is :

virtualenv             20.4.0

默认安装的virtualenv与安装了pip3virtualenv是不同的。 因此,当你试图使用pipenv创建一个虚拟环境时,例如在home/user/djano目录下安装django,并使用pipenv install django~=3.1.5,你会得到这个错误。 的错误。solution是用pip3 uninstall virtualenv删除已安装的virtualenv,并使用默认安装的virtualenv,这时当你用pipenv创建虚拟环境时就会成功创建。

mirek
mirek
发布于 2022-07-17
0 人赞同

我想拥有 virtualenvwrapper 。在 Debian 10 testing 上我做到了。

apt remove python3-virtualenvwrapper  # not purge, I want no changes in ~/.virtualenvs/
apt purge python3-virtualenv
/usr/bin/python3.8 -m pip install --force-reinstall virtualenvwrapper
/usr/bin/python3.8 -m pip install --force-reinstall virtualenv==20.0.23

.24 no longer works. I hope it will be solved sometimes...

EDIT 2021.01:我已将我的堆栈改为。pyenv + pyenv-virtualenvwrapper + poetry。也就是说,我没有使用apt或pip安装virtualenv或virtualenvwrapper,而是安装pyenv的插件pyenv-virtualenvwrapper。这是更简单的方法。

注:似乎如果你有 "apt... "的安装,就不需要移除/清理了。只要应用最后一条命令,加上...==20.0.23,应该就够了。
+ 后来我遇到了更多的麻烦(我不确定我之前做了什么),mkvirtualenv不再被找到,之前又出现了 "没有找到模块 "的错误。后来我只用用户(即非root)安装成功了。
....,所以我在安装virtualenv+virtualenvwrapper的apt或pip时经常遇到一些麻烦。在这个时候,pyenv+其virtualenvwrapper插件的组合(无需apt或pip安装)对我来说很好。详情请看我在这里的回答。 stackoverflow.com/a/65465391/2520298
devaerial
devaerial
发布于 2022-07-17
0 人赞同

如果有人在现有的环境中遇到这个问题(例如使用pyenv时),你也可以使用下面的命令(在 GitHub 当试图修复诗歌的虚拟环境安装时)。

pip install --force-reinstall virtualenv
    
yushulx
yushulx
发布于 2022-07-17
0 人赞同

当我通过 pip3 安装 virtualenv 时,它未能运行 virtualenv 命令。然后我通过以下方式改变了安装方式。

sudo apt install python3-virtualenv

替换代码0】命令可以正常工作。

This worked for me. Actually a lot of mess is around due to python2 & 3 and this was on the top of it.
Terry Turner
Terry Turner
发布于 2022-07-17
0 人赞同

我也有这个问题。 我发现这是个权限问题。 由于某些未知的原因,我的主目录的所有权被取消了。 我对我的项目所使用的目录做了 chown -R ,使我自己成为我自己目录的所有者,现在一切都正常了。

Dr J
聪明,我不得不在我的命令中加入sudo。
Damith Asanka
Damith Asanka
发布于 2022-07-17
0 人赞同

我也有同样的问题,似乎安装的版本有不同的用户级别,所以我按照他们的文件,下面的文件对我有用。

python3 -m virtualenv --help

创造新的环境。

python3 -m virtualenv my_env
    
RITI
RITI
发布于 2022-07-17
0 人赞同

我也面临同样的问题,但在删除了 虚拟环境 这是用 pip3 , I could get rid of this error. Uninstall 虚拟环境 with below command (don't forget to use sudo)

sudo pip3 uninstall virtualenv

After this, 虚拟环境 command works totally fine.

Eric
Eric
发布于 2022-07-17
0 人赞同

这意味着你的系统中有两个virtualenv。 一个是由sudo或root安装的 "pip install",另一个可能是由apt安装的(如果你使用的是ubuntu操作系统)。 只要卸载其中一个,错误就会被解决。

xiaojueguan
xiaojueguan
发布于 2022-07-17
0 人赞同

我通过删除系统中所有与virtualenv和virtualenvwrapper相关的软件包来解决这个错误,然后用以下命令重新安装virtualenv和virtualenvwrapper(因为我使用ubuntu,所以下面只显示apt)。 删除以下结果中显示的所有软件包

apt list --installed | grep virtualenvwrapper 
apt list --installed | grep virtualenvwrapper 

用pip安装virtualenv virtualenvwrapper

pip install virtualenvwrapper virtualenvwrapper 

设置 ~/.zshrc

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/amd
export VIRTUALENVWRAPPER_SCRIPT=/home/robot/.local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=$(which python3)
source /home/robot/.local/bin/virtualenvwrapper.sh
    
Saikat Roy
Saikat Roy
发布于 2022-07-17
0 人赞同

当我们使用pip3或python3来安装 virtualenv 时,我也得到了这个错误。我不得不每次都运行创建virtualenv(my_env是虚拟环境名称)。

python3 -m virtualenv my_env

但如果我用以下方法安装它