值得注意的是,我正在使用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
可以触发同样的错误。
答案 0 :(得分:2)
进一步探讨显示,可以通过向$ PYTHONPATH添加/usr/local/lib/python2.7/:/usr/local/lib/python2.7/lib-dynload/
来抑制错误。我首先尝试在buildpack的bin / release文件中使用它,但我还有一个PYTHONPATH配置变量,它显然覆盖了环境的buildpack设置(因为它可能应该)。
无论如何修复$ PYTHONPATH使一切都恢复正常,但这感觉很尴尬,就像一个其他东西出错的症状。希望拥有比我更多Heroku知识的人可以解释一下。