错误:virtualenvwrapper在你的道路上找不到virtualenv

时间:2015-07-07 16:44:37

标签: python virtualenv pythonpath virtualenvwrapper

我正在尝试使用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/斌:/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages:/卷/数据/ NFS / ZFS-学生-3 /用户/ 2013_paris / vmonteco /图书馆/ Python的/ 2.7 / lib中/蟒蛇/站点包:〜/ .brew /地下室

它包含包含virtualenv!

的目录

(i-e: /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

那么问题是什么呢?我怎么能解决它?

提前感谢您的帮助。

13 个答案:

答案 0 :(得分:29)

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

我遇到了同样的问题。

dplyr

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

library(dplyr)
l1 <- split(df$clues, df$resp_ID)
bind_cols(lapply(l1, `length<-`, max(length(l1)))) 

# A tibble: 3 × 3
#      `1`       `2`   `3`
#    <chr>     <chr> <chr>
#1   muddy     green salty
#2   clear elephants clear
#3 insects     muddy  <NA>

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

答案 1 :(得分:18)

  1. sudo find / -name "virtualenv"

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

      

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

  2. 触摸/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
    

答案 2 :(得分:13)

我终于找到了问题所在:

virtualenvwrapper.sh 是用 BASH 编写的,而不是用 Python 编写的。 因此从shell调用 virtualenv zsh )。 我没有打扰我的 PYTHONPATH ,而是关于我的 PATH (我已经能够从我的python shell导入virtualenv了。)

我刚刚将正确的目录添加到 PATH ,一切正常。

答案 3 :(得分:10)

我正在使用在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

如果您可以创建和删除虚拟环境,则可以开始使用。

答案 4 :(得分:5)

  1. 找到virtualenvwrapper所在的位置。在我的情况下
  2.  ~/.local/bin
    

    可以安装在

    /usr/local/bin/
    

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

    1. 只需
    2. 在您的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

答案 5 :(得分:3)

对我来说是

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

有效。

答案 6 :(得分:3)

就我而言,我测试了使用以下命令:

 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.中 现在所有的作品。

答案 7 :(得分:1)

你的PYTHONPATH让我觉得你安装了Homebrew。听起来像virtualenvwrapper安装了你的系统点或自制的点子,而正在用相反的python解释器执行。

答案 8 :(得分:0)

我这样做的方式是(使用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。

答案 9 :(得分:0)

我也遇到了同样的问题,并尝试了许多事情,找到的解决方案是我拥有三个pip版本,分别为2.7、3.6和3.7。 3.6可以在很多情况下正常运行,并且可以安装为sudo pip3.6 install virtualenv,并且运行良好。 我建议您检查您的pip版本,并尝试根据您的pip ver安装。

答案 10 :(得分:0)

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

现在打开新的外壳,然后重试。错误应该消失了。

答案 11 :(得分:0)

我已经在我的 .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

答案 12 :(得分:0)

删除所有与 virtualenv 相关的包会起作用。

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