Django на apache: Не удалось найти зависимые от платформы библиотеки <exe_prefix>

Я пытаюсь развернуть приложение django на сервере Apache (Wamp), используя виртуальную среду, но получаю эту ошибку. Все идет хорошо, проблема, похоже, возникает в файле wsgi.py.

В wsgi.py никогда не запускается venv, поэтому приложение не запускается.

Вот мой httpd-vhost.conf:

    ServerName my.app.name
    ServerAdmin myadminname@localhost.com
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    WSGIPassAuthorization On
    
    Alias /static C:/wamp/apache2/htdocs/<myappname>/frontend/build/static/
    <Directory "C:/wamp/apache2/htdocs/<myappname>/frontend/build/static/">
        Allow from all
        Require all granted
    </Directory>
    
    <Directory "C:/wamp/apache2/htdocs/<myappname>/<mysetting's django folder>">
        <Files wsgi.py>
            Allow from all
            Require all granted
        </Files>
    </Directory>
    
    #WSGIDaemonProcess <my.app.group> python-path="C:/wamp/apache2/htdocs/<app.name>/env/Lib/site-packages"
    #WSGIProcessGroup <my.app.group>
    WSGIScriptAlias / "C:/wamp/apache2/htdocs/<app.name>/<settings folder>/wsgi.py"
    
</VirtualHost>

Вот мой файл wsgi.py:



import os
import sys

# Add the virtual environment path to the system path
sys.path.append('C:/wamp/apache2/htdocs/<app.name>/env/Lib/site-packages')

# activate_this = 'C:/wamp/apache2/htdocs/<app.name>/env/Scripts/activate_this.py'
# execfile(activate_this, dict(__file__=activate_this))
# exec(open(activate_this).read(),dict(__file__=activate_this))

# Activate the virtual environment
activate_env = 'C:/wamp/apache2/htdocs/<app.name>/env/Scripts/python'
exec(open(activate_env, 'rb').read(), {'__file__': activate_env})

# Set the DJANGO_SETTINGS_MODULE environment variable
# os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app.settings')

os.environ['DJANGO_SETTINGS_MODULE'] = 'app.settings'

# Import the Django application from the Django project
from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

В файле wsgi.py есть два способа активации venv, которые я нашел. У venv нет файла activate_this.py, но я нашел ответ answer-here, в котором говорится, что простое копирование его из пакета virtualenv решает проблему. Я попробовал и сработал (в Windows 10). Но затем я попробовал в более низкой версии Windows и получил эту ошибку. Затем я нашел другое решение без файла activate_this.py, но все равно не работает.

Надеюсь, кто-нибудь сможет мне помочь. Заранее спасибо.

Вернуться на верх