繁体   English   中英

安装了 virtualenv 和 virtualenvwrapper:Python 说没有名为 virtualenvwrapper 的模块

[英]Installed virtualenv and virtualenvwrapper: Python says no module named virtualenvwrapper

关于类似问题的许多其他主题,但我找不到与我完全相同的案例。 所以,这里是:

我做的事情:

  • 冉: sudo easy_install pip
  • 冉: sudo pip install virtualenv
  • 冉: sudo pip install virtualenvwrapper

当前状态:

  • .bash_profile

     export PATH=/usr/local/bin:$PATH export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache export WORKON_HOME=$HOME/.virtualenvs export PIP_VIRTUALENV_BASE=$WORKON_HOME export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
  • 运行mkvirtualenv test结果:

     New python executable in trunk/bin/python Installing setuptools, pip...done. /usr/bin/python: No module named virtualenvwrapper
  • 手动检查 '/usr/local/bin' 显示 virtualenvwrapper.sh 存在

  • 与我看到的其他一些问题不同,当我启动一个新的终端窗口时,我没有收到关于 virtualenvwrapper 的消息
  • 运行 'which python' 结果: /usr/bin/python

我试过的:

  • 检查我的路径以确保它看起来像应该的
  • 重新安装pip,然后使用重新安装的pip重新安装virtualenv和virtualenvwrapper

非常感谢任何帮助使其正常工作。

通过编辑我的~/.bash_profile并添加以下内容,在遇到您在此处描述的相同问题后,我设法使其正常工作:

export WORKON_HOME=$HOME/code/.virtualenvs
export PROJECT_HOME=$HOME/code
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'

source /usr/local/bin/virtualenvwrapper.sh

保存,关闭。

然后:

$ source ~/.bash_profile

和:

$ mkvirtualenv test

我在 ubuntu 上设置 virtualenvwrapper 时遇到了同样的问题。

我已经使用pip安装了virtualenv,virtualenvwrapper,它们将这些模块安装在python3.5的站点包中。 我是怎么发现的?

打开你的终端并输入

$ pip --version

来自 /home/clyton/.virtualenvs/test1/lib/python3.5/site-packages (python 3.5) 的 pip 9.0.1

然后我检查了变量VIRTUALENVWRAPPER_PYTHON其值为 /usr/bin/python。 在您的终端上输入

$ ls -l $VIRTUALENVWRAPPER_PYTHON

lrwxrwxrwx 1 root root 9 Dec 10  2015 **/usr/bin/python -> python2.7**

正如你所看到的,这个变量指向 python2.7,你可能已经在不同的 python 站点包中安装了 virtualenv。

因此,要解决此问题,只需在 bashrc 中添加以下行

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.5

注意:将上述值设置为安装 virtualenv 的 python 版本。 就我而言,它是 python3.5,所以我设置了该值。 如何找出用于安装virtualenv的python版本? 再次在终端中输入pip --version

然后打开一个新的 shell 会话并再次尝试 mkvirtualenv。 这次应该可以了。

如果您查看virtualenvwrapper.sh脚本,您会发现以下行:

# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] 
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

如果您没有为您的 python 版本手动导出VIRTUALENVWRAPPER ,它将假定您没有安装virtualenvwrapper包的系统默认值。

我是这样修复的:

echo "export VIRTUALENVWRAPPER_PYTHON=$(which python3.6)" >> ~/.zshrc

这是所有记录在官方网站上这里

尝试使用pip2 install virtualenv virtualenvwrapper安装 virtualenv 和pip2 install virtualenv virtualenvwrapper 看起来像 pip install virtualenv 并且它是 python 3 的包装器,因为它是默认的

就我而言,将这一行添加到我的 .zshrc 文件中就行了,

export VIRTUALENVWRAPPER_PYTHON=/usr/local/Cellar/python/2.7.13/bin/python2.7

请记住 source ~/.zshrc 以更新对当前终端的更改。

最近(2017 年夏季)更新 Homebrew 和 python 后出现此错误。 我的问题是 Homebrew 不再覆盖系统 python 并且我没有为系统 python 安装virtualenvvirtualenvwrapper

我的解决方案是将以下内容添加到~/.bash_profile (或~/.zshrc ):

export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"

这使python指向python的 brew 版本,也给了我pip回来。 这个版本的python安装了virtualenvvirtualenvwrapper所以错误不再出现。 有关更多信息,请参阅brew info pythonhttps://github.com/Homebrew/homebrew-core/issues/15746下的警告部分

尝试卸载您的virtualenvvirtualenvwrapper并使用版本 2.7 中的pip (检查您是否符号链接您的 pip 或为其分配了其他版本的别名)重新安装(我认为)。

我遇到了同样的错误,我只是这样做并解决了我的问题。

我使用 Ubuntu 机器。

我希望这会有所帮助。

我不知道它是否与任何人有关,但是在 virtualenv 处于活动状态时编辑~/.zshrc时出现此错误。 所以我不得不deactivate然后rmvirtualenv env_name来消除错误。 然后我重新创建了 env: mkvirtaulenv env_nameworkon env_name ,这次我没有错误。

希望它可以帮助某人。

我意识到这个线程是超级旧的,但我在试图找到解决这个问题的方法时被它卡住了(使用pip3但你可以根据需要交换pip )。
我结束了使用的解决方案的修改版本,我在另一篇文章中找到这里
将以下内容添加到您的.zshrc / .bashrc

source /usr/local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3

我不得不在上面添加local但猜测您是否需要这样做将取决于您的安装。 我意识到我引用了错误的位置,因为我收到了这个错误: zsh: no such file or directory: /usr/bin/python3所以我只是做了which python3来查看它的位置。

确保卸载virtualenvvirtualenvwrapper任何现有版本,因为您不能简单地使用计算机上的现有版本安装到新位置,您必须删除旧版本,然后在新位置安装新版本。

安装:
sudo /usr/local/bin/pip3 install virtualenv virtualenvwrapper

而且,根据这篇文章,您应该能够使用以下命令使用您的 python3 版本创建一个虚拟环境:

mkvirtualenv --python=`which python3` nameOfEnvironment

在 Ubuntu 20.xx 中,只能通过指定 python 可执行路径来创建虚拟环境。

$ which python3
/usr/bin/python3
$ mkvirtualenv --python=/usr/bin/python <name_of_your_virtual_env>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM