[英]"No module named 'django_heroku' " app won't start on Heroku
嘗試推送到 heroku 服務器,我得到了這個:
git push heroku master
remote: Building source:
remote:
remote: -----> Python app detected
remote: ! Python has released a security update! Please consider upgrading to python-3.7.3
remote: Learn More: https://devcenter.heroku.com/articles/python-runtimes
remote: -----> Installing requirements with pip
remote:
remote: -----> Downloading NLTK corpora…
remote: ! 'nltk.txt' not found, not downloading any corpora
remote: ! Learn more: https://devcenter.heroku.com/articles/python-nltk
remote: -----> Discovering process types
remote: Procfile declares types -> web
remote:
remote: -----> Compressing...
remote: Done: 206.4M
remote: -----> Launching...
remote: Released v10
remote: https://versally.herokuapp.com/ deployed to Heroku
但是,當我轉到我的應用程序時,它告訴我有一個錯誤。 當我檢查日志時,我看到:
2019-04-30T13:22:00.633794+00:00 app[web.1]: import django_heroku
2019-04-30T13:22:00.633801+00:00 app[web.1]: ModuleNotFoundError: No module named 'django_heroku'
2019-04-30T13:22:00.634020+00:00 app[web.1]: [2019-04-30 13:22:00 +0000] [11] [INFO] Worker exiting (pid: 11)
2019-04-30T13:22:00.789044+00:00 app[web.1]: [2019-04-30 13:22:00 +0000] [4] [INFO] Shutting down: Master
我還沒有設置數據庫,但我只是想從 django 代碼中獲取調試消息,這樣我就可以開始配置數據庫了。
我自己遇到了這個問題並發現了這個問題。 如果找不到模塊,就會發生此錯誤,正如錯誤名稱所解釋的那樣。 如果推送到 heroku 的代碼中不包含包含該模塊的虛擬環境,則無法找到該模塊。
如果你使用 pipenv 作為你的虛擬環境,你會得到這個錯誤。 要解決此問題,您需要執行以下操作:
刪除 Pipfile 和 Pipfile.lock 文件。
在 pipenv 之外,發出以下命令:
python -m venv virtual_environment_name
virtual_environment_name/Scripts/Activate
(Windows)
source virtual_environment_name/bin/activate
(Mac)
再次安裝之前安裝的軟件包。
運行git add .
和git commit -am "Some text here"
命令。
你應該很高興去!
對於存在此問題的任何人,我都可以通過清空我的requirements.txt,推送(這將迫使Heroku卸載所有需求)然后通過重新推送填充的需求來解決。
我必須確保需求中包括了gunicorn-確實如此,但是日志顯示出於某種原因heroku卸載了我的“陳舊”版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.