【问题标题】:Django can't be found in a Heroku Python Virtualenv在 Heroku Python Virtualenv 中找不到 Django
【发布时间】:2016-07-11 04:10:15
【问题描述】:

更新:问题已解决。请参阅答案部分的答案。


今天是我使用 Python 开发 Heroku 的第一天,我已成功通过 this tutorial 在我的 MacBook Pro 上进行设置。我也想自己做一些 Django 项目,这就是我遇到虚拟环境找不到 Django 的问题,即使教程是在虚拟环境上安装一个简单的 Django 应用程序。奇怪的是,教程中的所有内容对我来说都很完美,包括 heroku localheroku open

this step 上,我使用source virtualenvname/bin/activate 进入了我的virtualenv,然后成功完成了pip install -r requirements.txt,其中包含一行“Django==1.9.2”。

Requirement already satisfied (use --upgrade to upgrade): Django==1.9.2 in /Library/Python/2.7/site-packages (from -r requirements.txt (line 2))

正如您在上面看到的,Django 似乎已经在我的 virtualenv 中了。

但是如果我在我的 virtualenv 中使用 python 启动一个 python 控制台,它就找不到 django!

>>> import django
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django

怎么了??我需要确保我有 Django,然后才能继续。


来自 cmets 的更新:

从 cmets 运行命令。

首先从 virtualenv 之外:

$ which pip
/usr/local/bin/pip

$ pip freeze
altgraph==0.10.2
bdist-mpkg==0.5.0
bonjour-py==0.3
dj-database-url==0.4.0
Django==1.9.2
futures==3.0.5
gunicorn==19.4.5
macholib==1.5.1
matplotlib==1.3.1
modulegraph==0.10.4
numpy==1.8.0rc1
psycopg2==2.6.1
py2app==0.7.3
pyobjc-core==2.5.1
pyobjc-framework-Accounts==2.5.1
pyobjc-framework-AddressBook==2.5.1
...
pyobjc-framework-SystemConfiguration==2.5.1
pyobjc-framework-WebKit==2.5.1
pyOpenSSL==0.13.1
pyparsing==2.0.1
python-dateutil==1.5
python-swiftclient==3.0.0
pytz==2013.7
requests==2.9.1
scipy==0.13.0b1
six==1.4.1
vboxapi==1.0
virtualenv==15.0.2
whitenoise==2.0.6
xattr==0.6.4
zope.interface==4.1.1

在虚拟环境中给出与上面相同的输出。

【问题讨论】:

  • 运行pip freeze,你能看到你安装的包吗?
  • Django 并未实际安装在您的虚拟环境中。它安装在/Library/Python/2.7/site-packages。验证您正在运行正确的 pipwhich pip
  • SvekarP 和 kichik,我已经完成了 pip freezewhich pip(查看更新)。我现在该怎么做才能让 python 识别我计算机上的 Django?
  • SvekarP 和 kichlik。问题解决了。谢谢。

标签: python django heroku virtualenv


【解决方案1】:

感谢来自 irc #python 的 cdunklau。解决方案是因为我的 MacBook (OS X El Capitan) 的 brew 对于 Django 来说太过时了,brew doctor 说:

Homebrew requires Leopard or higher. For Tiger support, see:
http://github.com/sceaga/homebrew/tree/tiger

我的 Python 也很老了,它的版本是 2.7.1。

所以我不得不修复它

  1. 更新自制软件:instructions here
  2. 在我的 Homebrew 上更新 Python:brew install python

现在我的 python 最高为 2.7.12,我可以在 Python 控制台中import django。 :)

【讨论】:

    猜你喜欢
    • 2015-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 2014-03-21
    • 2019-02-05
    • 1970-01-01
    相关资源
    最近更新 更多