向我的django应用程序提交了一个小的代码更改并部署到heroku。该应用程序现在在每个响应上抛出H10(应用程序崩溃)错误。当我检查日志时,我看到。。在
[web.1]: Traceback (most recent call last):
[web.1]: File "nightlife2/manage.py", line 2, in <module>
[web.1]: from django.core.management import execute_manager
[web.1]: ImportError: No module named django.core.management
[web.1]: bash: bin/gunicorn_django: No such file or directory
…我知道这意味着django不在Python上。我查看了heroku配置上的路径,上面写着bin:/usr/local/bin:/usr/bin:/bin
。但是在执行heroku run bash
时,我注意到整个bin
目录现在不见了。我在heroku上部署的其他应用程序仍然可以被推到bin
目录中(我相信新的应用程序不再有bin目录,它现在在.heroku/venv/bin中。不能百分之百确定细节)
有人遇到过这种情况吗?{5}如果我不知道问题的根源,那么我就不能改变这个问题了。任何东西都会非常感谢,因为这是生产服务器,目前是软管。在
编辑:更改路径时的错误是:django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
。数据库是postgress,所以我不确定这是从哪里来的
我解决了这个问题。这是多方面的。我会在这里记录下来,希望能让别人省去我刚刚经历的头痛。
我们的数据库刚刚更新为新的Heroku Postgres开发计划。(不确定这是否相关)。这是数据库更新后的第一次代码推送。
不久前,我记得听说设置注射被否决了。因为天真,我们什么也没做,也没看到任何变化,所以就没有跟进。他们决定今天生效,并切断了与我们博士后数据库的链接。我仍然不确定为什么
bin
目录现在不见了,但似乎应用程序现在正在使用新的.heroku/venv/bin
。为了解决这一切,我不得不改变设置.py对数据库使用新的postgres声明。我的操作是正确的,heroku config
中的PATH变量需要更新以指向.heroku/venv/bin
目录。然后我不得不更新Procfile,因为它抱怨找不到bin/gunicorn_django
。一旦一切都更新了,推动代码就解决了这个问题相关问题 更多 >
编程相关推荐