【问题标题】:pip / virtualenv / django installation issuepip / virtualenv / django 安装问题
【发布时间】:2011-12-20 00:54:22
【问题描述】:

我在一个新的 virtualenv 上,并试图在上面安装 django。

当我输入 which django-admin.py 时,我返回 /usr/local/bin/django-admin.py,这是不正确的,它应该安装在 .virtualenvs 文件夹中。

如果我这样做了,pip install django 我会回来的:

Requirement already satisfied (use --upgrade to upgrade): django in /Library/Python/2.6/site-packages

如果我这样做了,pip uninstall django 我会回来的:

Not uninstalling Django at /Library/Python/2.6/site-packages, outside environment /Users/username/.virtualenvs/envname/bin/..

如何让 pip 在 vi​​rtualenv 中安装和使用 django?不知道如何解决这个问题。

【问题讨论】:

    标签: django installation virtualenv pip


    【解决方案1】:

    首先,您应该使用 --no-site-packages 设置 virtualenv:

    virtualenv --no-site-packages …/my-env/
    

    那么你应该确保你已经激活了它:

    . …/my-env/bin/activate
    

    或者,使用 virtualenv 助手:

    workon my-env
    

    然后安装 Django:

    pip install django
    

    【讨论】:

    • 我已经在 virtualenv 上了。我做了'workon envname'并且(envname)在命令行上。也许我设置了没有“--no-site-packages”标志的virtualenv?这会导致这个问题吗?
    • 这可能会导致问题,因为您将看到全局 Django。但是,如果which pip 显示…/my-env/…/bin/pip,你可以使用pip install django,重新启动你的shell(因为你的shell 已经缓存了错误的django-admin.py 路径),重新激活,你应该很高兴去.
    • D'oh,对不起,是的——它不会工作,因为 django 已经在全球范围内安装了。使用--no-site-packages 再试一次,它应该可以工作。
    • 只是一个注释。在这些 cmets 发布后的某个时间, --no-site-packages 成为 virtualenv 的默认行为。但是我仍然遇到问题。这可能不言而喻,但我还是要说,对于任何和我有同样问题的人:确保你不要把“sudo”放在 pip 前面。只需执行“pip install django”,无需 sudo。谢谢大家
    • 它在 pip 命令前面添加了“sudo”,这对我来说破坏了它。我以 root 身份登录并在没有 'sudo' 的情况下运行,它工作得很好。
    【解决方案2】:

    就像大卫指出的那样,你应该告诉 virtualenv 不要在你的虚拟环境之外使用包(使用 --no-site-packages 标志)。这就是“which django-admin.py”返回“/usr/local/bin/django-admin.py”的原因

    【讨论】:

    • 是的,我认为他做到了。一旦设置了 virtualenv,如何添加 --no-site-packages 标志?还是我必须删除它并重新创建?
    • 是的,您需要创建一个新的:virtualenv --no-site-packages myenv。尝试使用 pip 再次安装 django:pip install django 并告诉我 :)
    • 不要忘记在您最近创建的虚拟环境中执行此操作:source myenv/bin/activate
    • 感谢 Cesar,通过使用 --no-site-packages 标志删除和重建它来使其正常工作。祝你晚安!
    猜你喜欢
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 2014-02-08
    • 2021-04-20
    • 2015-07-29
    • 1970-01-01
    相关资源
    最近更新 更多