首页 > 解决方案 > Django ModuleNotFoundError:在 Apache 中使用 mod_wsgi 没有名为“idoc”的模块

问题描述

当我尝试在 Apache 中运行我的 Django 项目时出现以下错误mod_wsgi。以下是错误跟踪:

Loading Python script file '/var/www/django/apac_o2c_idoc/idoc/wsgi.py'.
[Fri Jul 20 06:34:01.437544 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634] mod_wsgi (pid=3101): Failed to exec Python script file '/var/www/django/apac_o2c_idoc/idoc/wsgi.py'.
[Fri Jul 20 06:34:01.437678 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634] mod_wsgi (pid=3101): Exception occurred processing WSGI script '/var/www/django/apac_o2c_idoc/idoc/wsgi.py'.
[Fri Jul 20 06:34:01.438950 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634] Traceback (most recent call last):
[Fri Jul 20 06:34:01.439067 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "/var/www/django/apac_o2c_idoc/idoc/wsgi.py", line 34, in <module>
[Fri Jul 20 06:34:01.439081 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]     application = get_wsgi_application()
[Fri Jul 20 06:34:01.439093 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "/var/www/django/apac_o2c_idoc/venv/lib/python3.6/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
[Fri Jul 20 06:34:01.439098 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]     django.setup(set_prefix=False)
[Fri Jul 20 06:34:01.439108 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "/var/www/django/apac_o2c_idoc/venv/lib/python3.6/site-packages/django/__init__.py", line 19, in setup
[Fri Jul 20 06:34:01.439112 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]     configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
[Fri Jul 20 06:34:01.439120 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "/var/www/django/apac_o2c_idoc/venv/lib/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
[Fri Jul 20 06:34:01.439143 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]     self._setup(name)
[Fri Jul 20 06:34:01.439152 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "/var/www/django/apac_o2c_idoc/venv/lib/python3.6/site-packages/django/conf/__init__.py", line 43, in _setup
[Fri Jul 20 06:34:01.439156 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]     self._wrapped = Settings(settings_module)
[Fri Jul 20 06:34:01.439163 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "/var/www/django/apac_o2c_idoc/venv/lib/python3.6/site-packages/django/conf/__init__.py", line 106, in __init__
[Fri Jul 20 06:34:01.439168 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]     mod = importlib.import_module(self.SETTINGS_MODULE)
[Fri Jul 20 06:34:01.439175 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "/var/www/django/apac_o2c_idoc/venv/lib64/python3.6/importlib/__init__.py", line 126, in import_module
[Fri Jul 20 06:34:01.439179 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]     return _bootstrap._gcd_import(name[level:], package, level)
[Fri Jul 20 06:34:01.439187 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "<frozen importlib._bootstrap>", line 994, in _gcd_import
[Fri Jul 20 06:34:01.439194 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "<frozen importlib._bootstrap>", line 971, in _find_and_load
[Fri Jul 20 06:34:01.439214 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
[Fri Jul 20 06:34:01.439227 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
[Fri Jul 20 06:34:01.439276 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "<frozen importlib._bootstrap>", line 994, in _gcd_import
[Fri Jul 20 06:34:01.439312 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "<frozen importlib._bootstrap>", line 971, in _find_and_load
[Fri Jul 20 06:34:01.439380 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634]   File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
[Fri Jul 20 06:34:01.439460 2018] [wsgi:error] [pid 3101] [remote 17.82.221.203:61634] ModuleNotFoundError: No module named 'idoc'

下面是我的部分Apache配置文件:

Alias /static /var/www/django/apac_o2c_idoc/static

<Directory /var/www/django/apac_o2c_idoc/static>
  Require all granted
</Directory>

<Directory /var/www/django/apac_o2c_idoc/idoc>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess idoc python-home=/var/www/django/apac_o2c_idoc/venv python-path=/var/www/django/apac_o2c_idoc/venv/lib/python3.6/site-packages
WSGIProcessGroup idoc
WSGIScriptAlias / /var/www/django/apac_o2c_idoc/idoc/wsgi.py process-group=idoc

我在我的项目中使用名为“venv”的virtualenv,它的路径是:

/var/www/django/apac_o2c_idoc/venv

以下是项目结构/var/www/django/apac_o2c_idoc/

drwxr-xr-x. 5 usr grp  4096 Jul 19 02:20 idocwebapp
-rw-r--r--. 1 usr grp     0 Jul 19 02:20 db.sqlite3
-rw-r--r--. 1 usr grp 26078 Jul 19 02:20 database_diagram.mwb
drwxr-xr-x. 2 usr grp    29 Jul 19 02:20 config
-rw-r--r--. 1 usr grp  1355 Jul 19 02:20 README.md
drwxr-xr-x. 3 usr grp    79 Jul 19 02:20 util
drwxr-xr-x. 9 usr grp  4096 Jul 19 02:20 static
-rw-r--r--. 1 usr grp    59 Jul 19 03:13 requirements.txt
-rwxr-xr-x. 1 usr grp   536 Jul 19 04:38 manage.py
-rw-r--r--. 1 usr grp  6506 Jul 20 05:44 Dataflow_Diagram.graffle
drwxr-xr-x. 5 usr grp    77 Jul 20 05:47 venv
drwxr-xr-x. 3 usr grp  4096 Jul 20 05:52 idoc

有什么线索有什么问题吗?

标签: djangoapachepython-3.6mod-wsgi

解决方案


改变

WSGIDaemonProcess idoc python-home=/var/www/django/apac_o2c_idoc/venv python-path=/var/www/django/apac_o2c_idoc/venv/lib/python3.6/site-packages

WSGIDaemonProcess idoc python-home=/var/www/django/apac_o2c_idoc/venv python-path=/var/www/django/apac_o2c_idoc

推荐阅读