Django谷歌应用引擎:502坏网关,已安装的软件包无法识别



我正在谷歌应用引擎中部署Django。

我得到502坏网关,在日志中我得到以下错误:

2021-03-08 12:08:18默认〔20210308t130512〕追溯(最近调用最后一次):文件/layers/google.python.pip/pip/lib/python3.9/site packages/gunicorn/a仲裁者.py";,第583行,在spawn_worker worker.init_process()File"/layers/google.python.pip/pip/lib/python3.9/site packages/gunicorn/workers/ghtread.py";,第92行,在init_process super().init_process()File"/layers/google.python.pip/pip/lib/python3.9/site packages/gunicorn/workers/base.py";,第119行,在init_process self.load_wsgi()File"/layers/google.python.pip/pip/lib/python3.9/site packages/gunicorn/workers/base.py";,第144行,在load_wsgi self.wsgi=self.app.wsgi()File"/layers/google.python.pip/pip/lib/python3.9/site packages/gunicorn/app/base.py";,第67行,wsgi self.callable=self.load()File"/layers/google.python.pip/pip/lib/python3.9/site packages/gunicorn/app/wsgiapp.py";,第49行,在load return self.load_wsgiapp()File"/layers/google.python.pip/pip/lib/python3.9/site packages/gunicorn/app/wsgiapp.py";,第39行,在load_wsgiapp中返回util.import_app(self.app_uri)File"layers/google.python.pip/pip/lib/python3.9/site packages/gunicorn/util.py";,第358行,在import_app mod=importlib.import_module(module)File"中/opt/python3.9/lib/python3.9/importlib/init.py";,import_module return _bootstrap中的第127行_gcd_import(名称[level:],包,级别)文件";,_gcd_import File"中的第1030行&";,第1007行&";,第986行&";,在_load_unlocked File"中的第680行&";,第790行&";,在_call_with_frames_removed File"中的第228行/srv/main.py";,第1行,来自django_project.wsgi导入应用程序文件"/srv/django_project/wsgi.py";,第16行,在application=get_wsgi_application()File"/layers/google.python.pip/pip/lib/python3.9/site packages/django/core/wsgi.py";,第12行,在get_wsgi_application django.setup(set_prefix=False)File"/layers/google.python.pip/pip/lib/python3.9/site packages/django/init.py";,第19行,在setup-configure_logging(settings.logging_CONFIG,settings.logging)File"中/layers/google.python.pip/pip/lib/python3.9/site packages/django/conf/init.py";,第82行,在getattrself中_setup(name)File"/layers/google.python.pip/pip/lib/python3.9/site packages/django/conf/init.py";,第69行,在_setup-self中_wrapped=设置(Settings_module)文件"/layers/google.python.pip/pip/lib/python3.9/site packages/django/conf/init.py";,第170行,在initmod=importlib.import_module(self.SETTING_module)File"/opt/python3.9/lib/python3.9/importlib/init.py";,import_module return _bootstrap中的第127行_gcd_import(名称[level:],包,级别)文件"srv/django_project/settings.py";,第84行,在import pymysql#noqa:402 ModuleNotFoundError:没有名为"pymysql"的模块

问题是我已经安装了pymysql,事实上,如果我运行pip3 install pymysql,我会得到Requirement already satisfied: ...

为什么?提前感谢!

编辑:

这是requirements.txt:

asgiref==3.3.1
attrs==20.3.0
Automat==20.2.0
certifi==2020.12.5
cffi==1.14.4
chardet==4.0.0
constantly==15.1.0
cryptography==3.4.1
cssselect==1.1.0
Django==3.1.6
django-phonenumber-field==5.0.0
django-widget-tweaks==1.4.8
hyperlink==21.0.0
idna==2.10
incremental==17.5.0
instaloader==4.6.1
itemadapter==0.2.0
itemloaders==1.0.4
jmespath==0.10.0
jsonfield==3.1.0
lxml==4.6.2
parsel==1.6.0
phonenumberslite==8.12.18
progress==1.5
Protego==0.1.16
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.20
PyDispatcher==2.0.5
PyHamcrest==2.0.2
pyOpenSSL==20.0.1
pytz==2021.1
queuelib==1.5.0
requests==2.25.1
schedule==0.6.0
Scrapy==2.4.1
semantic-version==2.8.5
service-identity==18.1.0
setuptools-rust==0.11.6
six==1.15.0
sqlparse==0.4.1
toml==0.10.2
urllib3==1.26.3
w3lib==1.22.0
zope.interface==5.2.0

如果在本地计算机中运行pip3 install pymysql,这并不意味着在部署应用程序时会打包此模块。事实上,GAE试图在构建时使用requirements.txt文件安装所有内容,因此您是否在PC中安装了所有内容都无关紧要,因为GAE不会使用本地中的内容(谈论使用pip安装的软件包)。

正在检查您的requirements.txt文件,我没有看到添加了程序包PyMySQL。您应该将其添加到该文件中,然后尝试再次部署。

"pymysql";根据以下错误消息,程序包丢失(未安装):

ModuleNotFoundError:没有名为"pymysql"的模块

因此,您需要运行下面的命令来安装"pymysql">

pip install pymysql

最新更新