我正在尝试使用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 ?
那么问题是什么呢?我怎么能解决它?
提前感谢您的帮助。
答案 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)
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
答案 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)
virtualenvwrapper
所在的位置。在我的情况下 ~/.local/bin
可以安装在
中/usr/local/bin/
完全取决于您使用的系统或程序包管理器。
.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