heroku django导入错误没有名为_collections的模块

时间:2012-12-13 19:45:09

标签: python django heroku

值得注意的是,我正在使用custom buildpack来启用node.js的coffeescript编译。

在包含迁移的更改之后,我在运行迁移时遇到以下错误

Running `./manage.py migrate talent` attached to terminal... up, run.3366
Traceback (most recent call last):
  File "./manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
  File "/app/lib/python2.7/site-packages/django/core/management/__init__.py", line 1, in <module>
    import collections
  File "/usr/local/lib/python2.7/collections.py", line 8, in <module>
    from _collections import deque, defaultdict
ImportError: No module named _collections

heroku run bash shell会话中稍微探讨一下后,我发现打开python repl并运行import collections可以触发同样的错误。

1 个答案:

答案 0 :(得分:2)

进一步探讨显示,可以通过向$ PYTHONPATH添加/usr/local/lib/python2.7/:/usr/local/lib/python2.7/lib-dynload/来抑制错误。我首先尝试在buildpack的bin / release文件中使用它,但我还有一个PYTHONPATH配置变量,它显然覆盖了环境的buildpack设置(因为它可能应该)。

无论如何修复$ PYTHONPATH使一切都恢复正常,但这感觉很尴尬,就像一个其他东西出错的症状。希望拥有比我更多Heroku知识的人可以解释一下。