错误: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
脚本是 source
d 在将包装函数导出到当前环境之前确定要使用哪个 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的主要内容,如果未能解决你的问题,请参考以下文章
错误:npm 应该在节点 repl 之外运行,在您的普通 shell 中
错误尝试通过 callign firebase.app() 使用未安装在您的 Android 项目上的 firebase 模块
Django 错误 - 无法导入 Django。您确定它已安装并在您的 PYTHONPATH 环境变量中可用吗?
如何在部署 Flask 应用程序时修复此 Elastic Beanstalk 错误:在您的系统上找不到 Python 3.7.0