2016-07-08 2 views
4

У меня возникла проблема с настройкой виртуальной среды и mod_wsgi.Виртуальная среда неправильная версия python

У меня есть это в моей апача конфигурации:

WSGIDaemonProcess myapp python-path=/mnt/myapp/current:/mnt/env/lib/python3.4/site-packages 

, которые четко говорится, что я использую python3.4.

Но если я нахожусь в моей виртуальной среде, если я делаю следующее, я получаю информацию, что версия Python является 3.4.3:

(env)[email protected]:/mnt/env/bin# python 
Python 3.4.3 (default, Oct 14 2015, 20:28:29) 

Но если перечислить все файлы в папке bin, я могу видеть что установлен python3.4.

lrwxrwxrwx 1 root  root   9 Mar 24 10:50 python -> python3.4 
lrwxrwxrwx 1 root  root   9 Mar 24 10:50 python3 -> python3.4 
-rwxr-xr-x 1 root  root  3709944 Mar 24 10:50 python3.4 

В моем журнале апача я получаю это предупреждение:

[Fri Jul 08 10:32:52.394080 2016] [:warn] [pid 29613] mod_wsgi: Compiled for Python/3.4.0. 
[Fri Jul 08 10:32:52.394119 2016] [:warn] [pid 29613] mod_wsgi: Runtime using Python/3.4.3. 

И это тоже из моего журнала Apache:

Fri Jul 08 10:53:01.266961 2016] [:error] [pid 29619] Traceback (most recent call last): 
[Fri Jul 08 10:53:01.267014 2016] [:error] [pid 29619] File "/usr/lib/python3.4/threading.py", line 1288, in _shutdown 
[Fri Jul 08 10:53:01.268311 2016] [:error] [pid 29619]  assert tlock is not None 
[Fri Jul 08 10:53:01.268356 2016] [:error] [pid 29619] AssertionError: 
[Fri Jul 08 10:53:01.259885 2016] [:error] [pid 29621] Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'> 

Я не уверен, если последнее сообщение в log подключен к предыдущему, но я предполагаю, что это так.

Может кто-нибудь предложить, как я могу установить версию python 3.4.3 в моей виртуальной среде? После этого я бы изменил конфигурацию mod_wsgi.

Спасибо!

ответ

3

Похоже, вы используете скомпилированную версию mod_wsgi, которая компилируется на Python при ее первом создании, возможно, это Python 3.4.0. Похоже, что вы хотите сделать, это перекомпилировать mod_wsgi против Python 3.4.3 на этот раз, с чем-то вроде этого:

wget -q "https://github.com/GrahamDumpleton/mod_wsgi/archive/4.4.21.tar.gz" 
tar -xzf '4.4.21.tar.gz' 
cd ./mod_wsgi-4.4.21 
./configure --with-python=/path/to/your/python343/install 
make 
make install 

Удачи!

Смежные вопросы