

ubuntu20.04  
Server version: Apache/2.4.41 (Ubuntu)  
Python 3.8  
mod_wsgi 4.9.0

上記の環境でdjangoの本番環境を作成しようとしていますが、Apacheから以下のような500エラーが発生しており原因がわかりません。mod_wsgiからdjangoのプロジェクトにあるwsgi.pyは読みに来ているようです。  
なお、djangoのrunserverコマンドでは問題なく立ち上がります。

[code]

    mod_wsgi (pid=2259186, process='', application='127.0.1.1:8000|/django'): Loading Python script file '/usr/lib/cgi-bin/django/config/config/wsgi.py'.
    mod_wsgi (pid=2259186): Failed to exec Python script file '/usr/lib/cgi-bin/django/config/config/wsgi.py'.
    mod_wsgi (pid=2259186): Exception occurred processing WSGI script '/usr/lib/cgi-bin/django/config/config/wsgi.py'.
    Traceback (most recent call last):
      File "/usr/lib/cgi-bin/django/config/config/wsgi.py", line 24, in <module>
        from django.core.wsgi import get_wsgi_application
      File "/usr/lib/cgi-bin/django/lib/python3.8/site-packages/django/__init__.py", line 1, in <module>
        from django.utils.version import get_version
      File "/usr/lib/cgi-bin/django/lib/python3.8/site-packages/django/utils/version.py", line 7, in <module>
        from django.utils.regex_helper import _lazy_re_compile
      File "/usr/lib/cgi-bin/django/lib/python3.8/site-packages/django/utils/regex_helper.py", line 10, in <module>
        from django.utils.functional import SimpleLazyObject
      File "/usr/lib/cgi-bin/django/lib/python3.8/site-packages/django/utils/functional.py", line 362, in <module>
        class SimpleLazyObject(LazyObject):
    TypeError: Error when calling the metaclass bases
        'property' object is not callable
    
[/code]

以下がwsgi.pyの内容です。

[code]

    import os
    import site
    import sys
    
    site.addsitedir("/usr/lib/cgi-bin/django/lib/python3.8/site-packages")
    
    sys.path.append('/usr/lib/cgi-bin/django/config')
    sys.path.append('/usr/lib/cgi-bin/django/config/config')
    
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
    
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    
[/code]

以下がApache側の.configの内容です。  
pythonは/usr/lib/cgi-
bin/django/binにvirtualenvでの仮想環境を使用しており、django,mod_wsgiも同環境のものを使用しています。

[code]

    LoadModule wsgi_module /usr/lib/cgi-bin/django/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so
    
    
    WSGIPythonHome /usr/lib/cgi-bin/django
    WSGIPythonPath /usr/lib/cgi-bin/django/config
    WSGIScriptAlias /django /usr/lib/cgi-bin/django/config/config/wsgi.py
    
    <VirtualHost *:8000> 
    
    <Directory /usr/lib/cgi-bin/django/config/config>
    <Files wsgi.py>
    Require all granted
    </Files>
    </Directory>
    
    ErrorLog /var/log/apache2/django-error.log
    LogLevel info
    CustomLog /var/log/apache2/django-access.log combined
    </VirtualHost>
    
[/code]

エラーメッセージを検索しても、同様のエラーがヒットしません。  
どなたかわかる方がいらっしゃればよろしくお願いいたします。


CC BY-SA 4.0
2021-12-02T14:54:30.207
83920
2021-12-02T14:54:30.207
49319
question
python apache django
Apache2とdjangoプロジェクトをmod_wsgiで紐付けする際のエラーについて