我正在開發一個 Django 應用程式并使用 Fabric 進行部署。
當我使用 將應用程式部署到 Google App Engine 中暫存時fab testing,出現此錯誤:
Updating service [staging] (this may take several minutes)...failed.
ERROR: (gcloud.app.deploy) Error Response: [9] An internal error occurred while processing task /app-engine-flex/flex_await_healthy/flex_await_healthy>2022-01-01T09:48:30.226Z15496.fj.0: Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/env/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
utility.execute()
File "/env/lib/python3.6/site-packages/django/core/management/__init__.py", line 347, in execute
django.setup()
File "/env/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/env/lib/python3.6/site-packages/django/apps/registry.py", line 89, in populate
app_config = AppConfig.create(entry)
File "/env/lib/python3.6/site-packages/django/apps/config.py", line 116, in create
mod = import_module(mod_path)
File "/opt/python3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/env/lib/python3.6/site-packages/django/contrib/postgres/apps.py", line 8, in <module>
from .signals import register_type_handlers
File "/env/lib/python3.6/site-packages/django/contrib/postgres/signals.py", line 3, in <module>
import psycopg2
ModuleNotFoundError: No module named 'psycopg2'
我確定psycopg2之前已成功安裝。這是檢查后的已安裝依賴項串列pip list:
...
platformdirs 2.4.0
prompt-toolkit 3.0.24
protobuf 3.19.1
psutil 5.5.1
psycopg2 2.8.6
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycairo 1.16.2
...
任何人都可以幫忙嗎?謝謝!
uj5u.com熱心網友回復:
謝謝你們的及時支持。我已經設法解決了。基本上在編碼程序中,我不小心psycopg2在 requirements.txt 中注釋了該行。因為之前所有依賴項都已成功安裝,并且一切都在開發模式下正常運行,所以我只是將該行排除在外。
但是當使用 Fabric 進行部署時,它將執行 gcloud 命令(gcloud app deploy),事情是這樣的:GCloud 將重新運行所有內容(包括重新安裝所有依賴項)。并且psycopg2在 GCloud 運行時沒有安裝(因為它被注釋掉了)。這就是為什么 GCloud 無法找到它以進行進一步執行。
所以我把它放回去了,一切都像魅力一樣。我的舉動多么愚蠢,但它
uj5u.com熱心網友回復:
只需將您的requirements.txt添加到psycopg2=2.9.3
或手動運行以下命令到您的虛擬環境
pip install psycopg2
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/423130.html
標籤:
