【问题标题】:issues with python virtual environmentpython虚拟环境的问题
【发布时间】:2016-09-11 02:50:17
【问题描述】:
我面临以下 2 个问题:
- python 命令未使用 virtualenvwrapper python。
如果我键入 python,则在激活我的虚拟环境后,代码仍然使用本机 python 库。我可以使用 pip 轻松地将库等安装到我的虚拟环境中,但我无法使用 python 运行任何命令。
例如如果我执行
$ ./manage.py runserver
那么没问题,我可以运行 django 服务器
但如果我尝试
$ python manage.py runserver
甚至只是
$ python
然后它使用本机 python 库,这不应该发生
这是在 osx 中使用 iterm 或终端时。我从来没有在任何基于 linux 的操作系统中遇到过这个问题
- 在使用任何操作系统(基于 linux 或 osx)时,workon 命令在任何 shell 脚本中都不起作用,而在终端中正常工作
操作系统:osx
【问题讨论】:
标签:
python
linux
django
macos
【解决方案1】:
听起来 Python 可能正在使用站点包中的包,这意味着您应该在创建 virtualenv 时使用 --no-site-packages 标志(尽管在当前版本的 virtualenv 中看起来像 this is the default)。 /p>
-
要从 shell 脚本访问 virtualenvwrapper 函数,您首先需要 source 它:$ source /usr/local/bin/virtualenvwrapper.sh(路径可能与您的情况不同)。
李>
【解决方案2】:
您可以尝试从 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
让我知道它是否有效:)