我遇到虚拟环境和mod_wsgi配置问题。
我的apache配置中有这个:
WSGIDaemonProcess myapp python-path=/mnt/myapp/current:/mnt/env/lib/python3.4/site-packages
明确指出我使用的是python3.4。
但如果我在我的虚拟环境中,如果我执行以下操作,我将获得Python版本为3.4.3的信息:
(env)root@Python:/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
在我的apache日志中,我收到此警告:
[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'>
我不确定日志中的最后一条消息是否与之前的消息相关联,但我认为它是。
有人可以建议如何在我的虚拟环境中安装python版本3.4.3
吗?之后我会更改mod_wsgi
配置。
谢谢!
答案 0 :(得分:3)
看起来你正在使用mod_wsgi
的编译版本,它在你第一次构建时用Python编译,可能是Python 3.4.0。看起来你想要做的就是这次对Python 3.4.3重新编译mod_wsgi
,如下所示:
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
祝你好运!