错误:virtualenvwrapper 在您的路径中找不到 virtualenv

Posted

技术标签:

【中文标题】错误:virtualenvwrapper 在您的路径中找不到 virtualenv【英文标题】:ERROR: virtualenvwrapper could not find virtualenv in your path 【发布时间】:2015-09-25 07:11:22 【问题描述】:

我正在尝试使用 virtualenvwrapper 创建一个 virtualenv,但是当我使用 mkvirtualenv 时,我得到以下信息:

ERROR: virtualenvwrapper could not find virtualenv in your path

我认为这是一个 PYTHONPATH 问题。 但是,如果我执行pip show virtualenv,我会得到以下信息:

---
Metadata-Version: 2.0
Name: virtualenv
Version: 13.1.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Jannis Leidel, Carl Meyer and Brian Rosner
Author-email: python-virtualenv@groups.google.com
License: MIT
Location: /Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages
Requires:

这是我的 PYTHONPATH

/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/bin:/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/ bin:/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages:/Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/库/Python/2.7/lib/python/site-packages:~/.brew/Cellar

它包含包含 virtualenv 的目录!

(即:/Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages

我的 ~/.zshrc 包含:

export WORKON_HOME=~/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME"/Library/Python/2.7/bin/virtualenvwrapper.sh"

编辑: virtualenvwrapper.sh 是用 bash 编写的,也许我应该检查我的 PATH 而不是我的 PYTHONPATH

那么,问题可能是什么?我该如何解决?

提前感谢您的帮助。

【问题讨论】:

显示你的 .bashrc 文件 @AjayGupta 你是说我的 ~/.zshrc 吗?里面有几样东西不会全部展示,我要展示的部分应该和什么有关? mac和linux都是.bashrc文件,你在哪个操作系统上? @AjayGupta 我知道,但如果我使用 bash,它是 .bashrc,但我没有:我使用 zsh。 请看这个答案***.com/a/61327680/8212790 【参考方案1】:

重新安装 virtualenv 解决了我的问题。

我遇到了同样的问题。

$ mkvirtualenv mysite
ERROR: virtualenvwrapper could not find virtualenv in your path

经过大量耗时的努力, 我决定重新安装 virtualenv。

sudo apt install virtualenv

这解决了我的问题。 我已经安装了 virtualenv。但我认为它坏了或遇到了一些错误。

【讨论】:

对我来说,我必须这样做sudo apt install --reinstall virtualenv。感谢您的建议! sudo apt install virtualenv --upgrade 为我修复了它【参考方案2】:

我在 Ubuntu 18.04 上使用带有 virtualenvwrapper 的 python3,使用不带 sudo 的 pip3。如果您遇到这种情况,您可能会发现我的配置很有趣。

在我的 .bashrc 末尾,我添加了以下行(请记住将您的用户名放在 YOUR_USERNAME 字段中):

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=/home/YOUR_USERNAME/.local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

然后使用 ctrl-D ctrl-T 重新启动 cli 或使用 source ~/.bashrc 重新加载配置。 那你应该好好去!尝试安装:

lsvirtualenv
mkvirtualenv test
workon test
deactivate
rmvirtualenv test

如果您可以创建和删除虚拟环境,那么您就可以开始了。

【讨论】:

这是在 Windows 10 Ubuntu 子系统上解决此问题的最简单的解决方案,谢谢! 也在我的 Windows 10 Ubuntu 子系统上工作。关键部分是export VIRTUALENVWRAPPER_VIRTUALENV=/home/YOUR_USERNAME/.local/bin/virtualenv。我使用 Everything(一个搜索程序)搜索了 virtualenv,发现它的存在是一个以 /.local/bin/virtualenv 结尾的长目录。【参考方案3】:

    sudo find / -name "virtualenv"

    然后我发现可执行文件路径是:

    /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/virtualenv

    点击/usr/local/bin/目录下的软链接或者添加.bash_profile的路径,我更喜欢前者:

    sudo ln -s /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv
    

【讨论】:

这对我来说是最好的选择,因为我在 vagrant 中的 pip 安装位于一个不寻常的地方 (/home/vagrant/.local/bin/virtualenv)。 是的,确实如此。这是迄今为止我得到的关于 virtualenvwrapper 找不到 virtualenv 的最好建议。谢谢!【参考方案4】:

我终于发现了问题所在:

virtualenvwrapper.sh 是用 BASH 而不是 Python 编写的。 所以 virtualenv 是从 shell (zsh) 调用的。 我不必担心我的 PYTHONPATH,而是我的 PATH(我已经能够从我的 python shell 导入 virtualenv)。

我刚刚将正确的目录添加到我的 PATH 并且一切正常(包含virtualenv 可执行文件的目录,即/Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages,默认情况下不包含在我的PATH 中,尽管是virtualenv 和其他 pip 安装工具所在的目录)。

【讨论】:

目录到底是什么?很抱歉,我已经筋疲力尽了。我的 virtualenv 和 wrapper 路径是 /usr/local/bin。但是我用 HomeBrew 安装了我的 Pyhtton3。我不知道是否弄乱了我的外壳。 @OzkanSerttas 你好,它有点旧,但如果我没记错的话,它是关于添加包含virtualenv 可执行文件的目录的路径。我编辑了我的答案以进一步澄清。【参考方案5】:
    查找您的virtualenvwrapper 在哪里。就我而言
 ~/.local/bin

可能是安装在

/usr/local/bin/

这完全取决于您使用的系统或包管理器。

    将此路径添加到您的 shell 配置中 .bashrc.zshrc 或其他任何简单的方式
PATH=$PATH:<directory_you_want_to_add>

例如

PATH=$PATH:~/.local/bin

同样在.bashrc.zshrc中添加如下配置

# the path you want your virtual environments to be saved and loaded from
export WORKON_HOME=$HOME/.virtualenvs 
export PROJECT_HOME=$HOME/<project_folder>

# most important, this is the program which loads virtualenv
# please update the path where virtualenvwrapper.sh is located
source /usr/local/bin/virtualenvwrapper.sh 

不要忘记重新启动 shell.. 或重新加载配置...

测试它是否有效

mkvirtualenv test

如果您看到创建了测试环境,那么一切正常。

有关详细安装说明,请访问文档:virtualenvwrapper installation

【讨论】:

【参考方案6】:

对我来说是:

export PYTHONPATH=/usr/bin/python3
export PATH=$HOME/.local/bin:$PATH
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh

我把这行改成:

export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv

成功了。

【讨论】:

【参考方案7】:

在我的例子中,我测试了使用这个命令:

 sudo find / -name "virtualenv"

我有一个包含此文件所有路径的列表,

我一对一测试,用路径解决了:

export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv

我对环境变量的配置是:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh

在文件.bashrc. 现在它的所有工作。

【讨论】:

【参考方案8】:
ERROR: virtualenvwrapper could not find virtualenv in your path

此错误意味着 - 程序 virtualenv 不在您的系统路径中。如果您通过没有 sudo 的 pip 安装 virtualenv,这通常会发生。这种安装将数据存储在用户本地目录e.g ~/.local/bin 中。所以第一步是找到这个二进制文件的位置。您可以使用locate 程序来做到这一点。首先使用sudo updatedb 更新其数据库。然后运行locate *bin/virtualenv。无论您获得什么路径,都将其附加到系统路径变量中。您可以通过在 shell 配置文件中添加以下行来做到这一点,例如~/.bashrc or ~/.zshenv.

export PATH=$PATH:/your/path

例如

export PATH=$PATH:~/.local/bin

现在打开新外壳并重试。错误应该消失了。

【讨论】:

【参考方案9】:

我这样做的方式是(使用zsh)以这种方式:

export PATH=$HOME/bin:/usr/local/bin:$PATH:/Users/username/Library/Python/2.7/bin:$PATH

我只是将 virtualenvwrapper.sh 的文件定位在此路径/Users/username/Library/Python/2.7/bin:$PATH

并将该路径添加到 PATH。

【讨论】:

【参考方案10】:

你的 PYTHONPATH 让我觉得你已经安装了 Homebrew。听起来 virtualenvwrapper 是与您的系统 pip 或您的自制 pip 一起安装的,而它正在使用相反的 python 解释器执行。

【讨论】:

没错,homebrew 安装好了。似乎两者都安装了,会导致问题吗?我认为解释器会抓取我的 PYTHONPATH 并使用他找到的第一个 virtualenv。 我不使用 virtualenvwrapper 但似乎 virtualenvwrapper.sh 脚本是 sourced 在将包装函数导出到当前环境之前确定要使用哪个 python 解释器。 你的意思是 virtualenvwrapper.sh ? 我做到了,对不起。我澄清了上述评论。 啊,这个脚本的目的是在bash中定义一些函数,比如“workon”。你有它的来源:bitbucket.org/dhellmann/virtualenvwrapper/src/…【参考方案11】:

我有同样的问题并尝试了很多东西,作为解决方案找到的是我有三个 pip 版本,pip 有 2.7、3.6 和 3.7。而 3.6 是适用于很多事情的版本,安装为 sudo pip3.6 install virtualenv,它运行良好。 我建议,检查您的 pip 版本并尝试根据您的 pip 版本进行安装。

【讨论】:

【参考方案12】:

我已将 .zshrc 中的变量 VIRTUALENVWRAPPER_VIRTUALENV 设置为 virtualenv 二进制文件的完整路径,它适用于我。

这是我的 .zshrc 文件:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/Library/Python/2.7/bin/virtualenv
source $HOME/Library/Python/2.7/bin/virtualenvwrapper.sh

【讨论】:

【参考方案13】:

删除所有与 virtualenv 相关的包都可以。

pip freeze -l | grep ^virtualenv | awk -F= 'print $1' | xargs pip uninstall -y

【讨论】:

以上是关于错误:virtualenvwrapper 在您的路径中找不到 virtualenv的主要内容,如果未能解决你的问题,请参考以下文章

运行时错误:在您的系统上找不到 NVIDIA 驱动程序

错误:npm 应该在节点 repl 之外运行,在您的普通 shell 中

在您的证书上找不到 iPhone 开发者/发行者身份 错误

错误尝试通过 callign firebase.app() 使用未安装在您的 Android 项目上的 firebase 模块

Django 错误 - 无法导入 Django。您确定它已安装并在您的 PYTHONPATH 环境变量中可用吗?

如何在部署 Flask 应用程序时修复此 Elastic Beanstalk 错误:在您的系统上找不到 Python 3.7.0