Virtualenv 和 virtualenvwrapper 似乎不起作用



几个月前,我安装了virtualenvvirtualenvwrapperpip,创建了一些虚拟环境并成功地使用了Django。

今天回到我的项目后,我无法使用任何这些命令。例如:

/> lsvirtualenv

返回:

/>

进一步:

/> 修工

还返回:

/>

这可能是什么原因?文件夹.virtualenv位于此处/users/myUser/documents/projects/.virtualenvs其内容为:

get_env_details
postactivate
postmkproject
postrmvirtualenv
predeactivate
premkvirtualenv
initialize
postdeactivate
postmkvirtualenv
preactivate
premkproject
prermvirtualenv

我错过了什么?谢谢!

这些命令由脚本virtualenvwrapper.sh生成。您必须获取该文件才能获取命令。

试试这个:

find / -name "virtualenvwrapper.sh" 2>/dev/null

它应该找到并返回文件路径。在我的系统上是:

/usr/share/virtualenvwrapper/virtualenvwrapper.sh

所以你可以做到:

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

现在您应该有命令。您可能希望在每次启动系统时都拥有这些命令而无需获取virtualenvwrapper.sh

将该行添加到您的.bashrc(或者以 .bash_profile.profile 为单位(,以及另外两行

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Projects
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

之后,手动创建目录Projects(您可以随意调用它并将其放置在您想要的任何位置(:

mkdir $HOME/Projects

下次启动后,您应该拥有所有命令和新的环境变量。当您执行以下操作时:

mkproject foo

将创建新的目录 foo:

.virtualenvs/foo

和:

Projects/foo

第一个是您的虚拟环境,第二个是您的项目所在的位置。使用workon foo您可以激活它,使用cdvirtualenvcdproject您可以在它们之间切换。

编辑:

在重新阅读您的问题后,我认为问题最终可能出在您创建虚拟环境的方式上。

命令lsvirtualenvworkonvirtualenvwrapper 提供。如果您使用 comand mkvirtualenv(也由 virtualenvwrapper 提供(创建虚拟环境,则 lsvirtualenvworkon 将列出它们。

但是如果你像这样创建它们:

 virtualenv foo

virtualenvwrapper不会意识到您的虚拟环境。

相关内容

  • 没有找到相关文章

最新更新