![](/img/trans.png)
[英]Python Docker ModuleNotFoundError: No module named 'config'
[英]ModuleNotFoundError: No module named 'config'
我知道有一個類似的問題:
django-admin startproject 導致“ModuleNotFoundError:沒有名為‘config’的模塊”
但答案對我不起作用。
我有一個運行 Ubuntu (18.04) + Apache (2.4.29) 的 VPS。
應用程序通過此命令行運行良好:
python3 manage.py runserver 0.0.0.0:8000 --settings=config.settings.production
我的 Apache conf 如下所示:
WSGIDaemonProcess myapp python-home=/home/my_repository/ENV
WSGIProcessGroup myapp
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /home/my_repository/config/wsgi.py
<Directory /home/my_repository/>
Require all granted
</Directory>
我在 Apache.log 上看到此錯誤:
mod_wsgi (pid=32745): Target WSGI script '/home/my_repository/config/wsgi.py' cannot be loaded as Python module.
mod_wsgi (pid=32745): Exception occurred processing WSGI script '/home/my_repository/config/wsgi.py'.
Traceback (most recent call last):
File "/home/my_repository/config/wsgi.py", line 39, in <module>
application = get_wsgi_application()
File "/usr/local/lib/python3.6/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application
django.setup(set_prefix=False)
File "/usr/local/lib/python3.6/dist-packages/django/__init__.py", line 19, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/usr/local/lib/python3.6/dist-packages/django/conf/__init__.py", line 76, in __getattr__
self._setup(name)
File "/usr/local/lib/python3.6/dist-packages/django/conf/__init__.py", line 63, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python3.6/dist-packages/django/conf/__init__.py", line 142, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/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 941, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'config'
我還確認了我的wsgi.py
配置了哪些版本和變量:
DJANGO_SETTINGS_MODULE: config.settings.production
Python version: 3.6.9
Django version: 3.0.3
我希望任何人都可以幫助我。 我現在嘗試運行訓練營將近一個月了 😞
問題是python工作目錄。
它指向/
。
要設置工作目錄,您需要在WSGIDaemonProcess
指定home
參數。
我的 apache conf 最終是這樣的:
WSGIDaemonProcess myapp python-home=/home/my_repository/ENV home=/home/my_repository
WSGIProcessGroup myapp
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /home/my_repository/config/wsgi.py
<Directory /home/my_repository/>
Require all granted
</Directory>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.