Как выполнить Python из virtualenv для Django

Я установил Django 2.0.5 на сервер CentOS 7 с Python 3.7.0, следуя инструкциям DigitalOcean.

После добавления файла conf я получил следующую ошибку

mod_wsgi (pid=21374): Target WSGI script '/home/user/myproject/myproject/wsgi.py' cannot be loaded as Python module.
mod_wsgi (pid=21374): Exception occurred processing WSGI script '/home/user/myproject/myproject/wsgi.py'.
Traceback (most recent call last):
  File "/home/user/myproject/myproject/wsgi.py", line 18, in <module>
    from django.core.wsgi import get_wsgi_application
  File "/home/user/myproject_env/lib/python3.7/site-packages/django/__init__.py", line 1, in <module>
    from django.utils.version import get_version
  File "/home/user/myproject_env/lib/python3.7/site-packages/django/utils/version.py", line 61, in <module>
    @functools.lru_cache()
AttributeError: 'module' object has no attribute 'lru_cache'

Это указывает на файл wsgi.py, выполняемый Python 2.7.5, который является версией Python по умолчанию для моего сервера.

Чтобы подтвердить это, я добавил версию и $PYTHONPATH в error_log из wsgi.py.

ERROR:root:Python Version: 2.7.5
ERROR:root:['/home/user/myproject', '/home/user/myproject_env/bin/python3.7', 
'/home/user/myproject_env/lib/python3.7/site-packages', '/usr/lib64/python27.zip', 
'/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', 
'/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', 
'/usr/lib64/python2.7/site-packages', '/usr/lib/python2.7/site-packages']

Это подтверждает, что он выполняет Python 2.7.5 вместо Python 3.7.0.

Как я могу изменить путь Django Python для выполнения Python 3 из virtualenv?

ИЗМЕНИТЬ:

Вот мой файл django.conf:

Alias /static /home/user/myproject/static
<Directory /home/user/myproject/static>
    Require all granted
</Directory>

<Directory /home/user/myproject/myproject>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess myproject python-path=/home/user/myproject:/home/user/myproject_env/lib/python3.7/site-packages
WSGIProcessGroup myproject
WSGIScriptAlias / /home/user/myproject/myproject/wsgi.py

person Rafayet Ullah    schedule 11.08.2018    source источник
comment
Возможный дубликат mod_wsgi и нескольких установок python   -  person hoefling    schedule 11.08.2018
comment
В случае виртуального окружения укажите путь к его исполняемому файлу: в вашем случае это должен быть /home/user/myproject_env/bin/python3.   -  person hoefling    schedule 11.08.2018
comment
этот путь уже есть в списке путей, упомянутом в посте @hoefling   -  person Rafayet Ullah    schedule 11.08.2018
comment
Я говорю не о WSGIPythonPath, а о WSGIPythonExecutable. Пожалуйста, внимательно прочитайте ответ на связанный вопрос.   -  person hoefling    schedule 11.08.2018
comment
Я использовал WSGIDaemonProcess myproject python-path=/home/user/myproject:/home/user/myproject_env/lib/python3.7/site-packages. добавление WSGIPythonExecutable дает мне следующую ошибку во время перезапуска сервера Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details. @hoefling   -  person Rafayet Ullah    schedule 11.08.2018
comment
Какую версию mod_wsgi вы используете?   -  person hoefling    schedule 11.08.2018
comment
WSGIPythonExecutable, по-видимому, был удален в mod_wsgi 2.x.   -  person AKX    schedule 11.08.2018
comment
версия mod_wsgi 3.4   -  person Rafayet Ullah    schedule 11.08.2018
comment
Еще раз - пожалуйста, прочитайте ответ на связанный вопрос. Для mod_wsgi>2 свойство было переименовано в WSGIPythonHome.   -  person hoefling    schedule 11.08.2018