【问题标题】:virtualenv using wrong djangovirtualenv 使用了错误的 django
【发布时间】:2011-04-06 16:36:19
【问题描述】:

我有一个虚拟环境,所有设置都带有--no-site-packages 标志。

当我执行pip install django==1.3 时,一切似乎都安装得很好。

当我运行 python manage.py sycndb 时,我得到了错误。

ImportError django.contrib.staticfiles: No module named staticfiles

我知道这是 1.3 的一个功能,应该可以使用。当我进入 python shell 并输入

>>> import django
>>> django.VERSION
(1, 2, 1, 'alpha', 0)

知道我为什么要返回 1.2 我有 vitrualenv 并且知道我在其中,因为我可以导入我已安装的其他东西。除了 django 之外的所有东西似乎都可以工作。似乎我在我的机器上安装了一个幽灵版本或另一个版本,但这不应该因为 --no-site-packages 而发生,对吧?

【问题讨论】:

  • 刚刚创建了一个全新的空白 virtualenv --no-site-packages venv 进入 source bin/active ,然后是 python。仍在返回 django.VERSION 1.2。
  • 不知道您使用的是什么系统,但可能您的路径以某种方式混淆并且运行了一些错误的 python 解释器。尝试在你的 virtualenv 中显式运行 bin/python

标签: django virtualenv


【解决方案1】:

您能否进行以下检查:

  1. 你是否在你的 virtualenv 中使用 python?

    which python

    /home/raisins/.virtualenvs/yourenv/bin/python

  2. 打开一个 python shell 并检查你的 django 来自哪里:

    python

    >>> import django

    >>> django.__path__

    >>> ['/home/raisins/.virtualenvs/yourenv/lib/python2.6/site-packages/django']

  3. 当您运行pip install 命令时,您是否激活了虚拟环境?

【讨论】:

  • 解决了。好像是不久前的事了。我在.bash_profile 中硬编码了 django 路径,这似乎覆盖了我的 django 调用。
  • @Raisins 这正是我遇到的问题,我不知道为什么!感谢您指出这一点。
猜你喜欢
  • 2013-10-11
  • 2017-09-12
  • 1970-01-01
  • 2020-07-22
  • 1970-01-01
  • 2022-06-10
  • 2017-02-18
  • 2023-03-12
  • 2012-01-29
相关资源
最近更新 更多