活动 virtualenv 不工作

Posted

技术标签:

【中文标题】活动 virtualenv 不工作【英文标题】:Active virtualenv is not working 【发布时间】:2016-02-15 04:17:57 【问题描述】:

我正在使用 Python2.7.8 和 virtualenv 12.0.7

我激活了我的 virtualenv 并运行 which pip,但它仍然显示 /usr/local/bin/pip

看起来我的 virtualenv 是活跃的。

(my-env)erkans-MacBook-Air:Projects erkan$

如果我在 virtualenv 处于活动状态时运行 python manage.py runserver,它会说

没有名为 django.core.management 的模块

找不到 django 模块,因为活动的 virtualenv 不工作。但我不明白为什么?

【问题讨论】:

我假设您尝试停用并重新激活然后再试一次? @Holloway 我试过但没有解决方案。如果我在 my-env 处于活动状态时安装了一个包,它将安装在全局 pip 列表中。我没有使用 sudo 命令。 你能粘贴python命令>>> import sys; print sys.path的输出吗? 如何激活venv?你能把激活文件的内容转储给我们看看吗? 你的 OSX 版本是多少? 【参考方案1】:

    安装 virtualenv 和 virtualenvwrapper:pip install virtualenv virtualenvwrapper

    在您的主文件夹中创建一个文件夹 .virtualenvsmkdir ~/.virtualenvs。此文件夹将存储您的虚拟环境

    将此添加到您的 ~/.bash_profile 文件中:

# Replace by the path of your python bin folder
export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/2.7/bin/
# Replace by the path of your python executable script that virtualenvwrapper will use
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/2.7/bin/python3
export WORKON_HOME=~/.virtualenvs
# Replace by the path of your virtualenvwrapper.sh file
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
    重新启动 MacBook Air 创建一个虚拟环境:mkvirtualenv stack 激活它:workon stack

现在which pip 应该输出这个:.virtualenvs/stack/bin/pip

【讨论】:

我删除了所有 virtualenvs 文件夹并重新创建。然后我现在激活 virtualenv 哪个 pip 命令指向正确的目录但仍然使用全局 pip。我如何正确检查 virtualenv pip 路径? 它输出这个.virtualenvs/stack/bin/pip? 这是哪个 pip 的输出 --> /home/user/virtualenvs/my-project/bin/pip 但是我没有得到名为 django 的模块。我可以在点子列表中看到 Django (1.7.7) 激活你的 virtualenv 并运行:pip install Jinja2。现在检查该软件包是否已安装在您的虚拟环境中。它应该在.virtualenvs/stack/lib/python-x.x/site-packages/

以上是关于活动 virtualenv 不工作的主要内容,如果未能解决你的问题,请参考以下文章

virtualenv和conda的区别及windows 10上的部署

Python 虚拟环境:Virtualenv

pyenv+virtual 笔记

Python 虚拟环境:Virtualenv

Jupyter没有从Virtual Environment加载模块

ubuntu virtualenv python 虚拟环境的安装和配置