python虚拟环境的问题

时间:2016-09-11 02:50:17

标签: python linux django macos


我面临以下两个问题:

  1. python命令没有使用virtualenvwrapper python 如果我键入python,激活我的虚拟环境后,代码仍然使用本机python库。我可以使用pip轻松地将库等安装到我的虚拟环境中,但是我无法使用python运行任何命令 例如如果我执行
    $ ./manage.py runserver
    那么它很好,我可以运行一个django服务器
    但如果我尝试 $ python manage.py runserver
    甚至只是 $ python
    然后它使用本机python库,这不应该发生
  2. 这是在osx中​​使用iterm或终端时。我从来没有在任何基于linux的操作系统中遇到过这个问题

    1. 使用任何操作系统(基于linux或osx)时, workon 命令在任何shell脚本中都不起作用,而它在终端中正常工作
    2. os:osx

2 个答案:

答案 0 :(得分:0)

  1. 听起来Python可能正在使用site-packages中的软件包,这意味着在创建virtualenv时应该使用--no-site-packages标志(尽管在当前版本中看起来像this is the default的virtualenv)。

  2. 要从shell脚本访问virtualenvwrapper函数,首先需要source它:$ source /usr/local/bin/virtualenvwrapper.sh(路径可能与您的情况不同)。

答案 1 :(得分:0)

您可以尝试从pip3安装virtualenv和virtualenvwrapper。

pip3 install virtualenv virtualenvwrapper

然后找到virtualenvwrapper.sh文件的位置:

find / -name 'virualenvwrapper.sh'

我在/usr/local/bin/virtualenvwrapper.sh有我的。但似乎你在一些不同的目录中拥有它。因此,您必须更改以下配置以满足您的需求。 然后在.bashrc.zshrc

# Python3 virtualenv/venvwrapper
export WORKON_HOME=~/.virtualenvs
VIRTUALENVWRAPPER_PYTHON='/usr/bin/python3' # This needs to be placed before the virtualenvwrapper command
export PROJECT_HOME=$HOME/Projects
source /usr/local/bin/virtualenvwrapper.sh # your path to virtualenvwrapper.sh

让我知道它是否有效:)