【发布时间】:2014-11-04 15:47:16
【问题描述】:
我是 Python 虚拟环境的新手,所以在阅读了 this tutorial 之后,我尝试使用 virtualenvwrapper 创建我的第一个环境。我的 python3 安装现在很简单:
$ pip3 list
argparse (1.2.1)
pip (1.5.6)
setuptools (2.1)
stevedore (0.15)
virtualenv (1.11.6)
virtualenv-clone (0.2.5)
virtualenvwrapper (4.3.1)
按照教程的建议,我在我的 .bashrc 文件中添加了以下几行:
export WORKON_HOME=$HOME/.virtualenvs
source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper_lazy.sh
当我打开一个新终端时会出现以下消息:
Last login: Wed Sep 10 22:33:17 on ttys006
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
complete: usage: complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [name ...]
我不明白问题出在哪里,但显然 source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper_lazy.sh 行失败了,因为那时我什至找不到 mkvirtualenv 命令:
$ mkvirtualenv test1 -p /usr/bin/python3.3
-bash: mkvirtualenv: command not found
【问题讨论】:
-
您的
.bashrc文件中还有什么内容? -
我的
.bashrc文件中有很多东西,这是多年从各处添加不同命令和功能的结果。 -
你
set -u在里面吗? -
我愿意
set -o notify,set -o noclobber,set -o ignoreeof,set -o nounset。 -
是的,
set -o nounset那是set -u。这将是这里的问题。大部分脚本不希望使用该集合运行,因为它会使许多惯用动作失败。禁用它,看看它是否开始工作。
标签: python bash virtualenv virtualenvwrapper