3

值得注意的是,我正在使用自定义 buildpack来启用使用 node.js 进行咖啡脚本编译。

在包含迁移的更改之后,运行迁移时出现以下错误

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 bashshell 会话中摸索了一下之后,我发现打开 python repl 并运行import collections.

4

1 回答 1

2

进一步的研究表明,可以通过添加/usr/local/lib/python2.7/:/usr/local/lib/python2.7/lib-dynload/到 $PYTHONPATH 来抑制错误。我首先尝试在 buildpack 的 bin/release 文件中执行此操作,但我还有一个 PYTHONPATH 配置变量,它显然覆盖了环境的 buildpack 设置(可能应该如此)。

无论如何,修复 $PYTHONPATH 使一切恢复正常,但这感觉很尴尬,就像其他事情出错的症状一样。希望比我拥有更多 Heroku 知识的人能有所启发。

于 2012-12-13T19:51:56.543 回答