我如何让Apache运行2.7而不是2.5?
我将Apacheconfiguration为使用带有Django和Python 2.7的mod_wsgi,但是错误日志显示Apache正在使用Python 2.5.2,并且找不到django.core.handlers.wsgi。
该模块是可用的python和Django的壳,每个运行2.7,所以我认为这个问题是Apache的Python版本。
我从源代码(在Debian系统上)安装了Python 2.7.1,并将符号链接/ usr / bin / python改为指向/usr/local/bin/python2.7,其中“make install”放置了二进制文件。 python和djangopopup2.7.1(这些可以导入wsgi模块)。
可能是相关的 – 当我将符号链接转换回以前的版本(对于某些安装需要apt-get)时,python shell仍然会出现2.7.1。 Django没有。 我在安装过程中错过了什么吗?
更新:这 – https://stackoverflow.com/questions/4186099/django-running-wrong-version – build议这个问题可能是mod_wsgi,或mod_python,为Python 2.5build立。
我试过从源码构buildmod_wsgi,但是这个过程没有findapxs,并且安装libapache2-dev(如mod_wsgi站点所build议的)的努力是在不可卸载的依赖关系上轰炸。 而且我不能通过apt-get安装mod_wsgi或mod_python,而无需将Python指向debian默认的2.5。 不知道如何在这里脱落。
更新2:select回滚Python到2.5。
我推测Apache正在进入Python 2.5 b / c,它发现mod_wsgi.so-2.5,对应于Python 2.5,已启用mods。 编译mod_wsgi可能已经把.so-2.7模块放在那里,但是这需要apache2-dev,Debian软件包为此打破了一些缺失的依赖性问题,并且回滚判断了valor的更好的部分,而且没有人会关心那或者是这个跑马圈地,但是, 如果 ,温柔的读者,一些python2.7 + apache毛球把你带到这里,这些时间疤痕的注释让你一下,为我提高杯子。 精益求精! 晚安。
最新更新:apache2-dev问题通过aptitude安装而不是apt-get解决。
有没有一个真正的理由你需要Python 2.7? Django可以安装2.5,而Debian软件包将保持应用于python 2.5的安全相关补丁。 为什么不把所有的东西都存放在Debian的仓库中,并且安装Django for 2.5? 这样可以节省很多编译源代码的工作,使安装变得更容易,而且还可以使升级和维护更加简单,并且不会在未来破坏。
– 克里斯托弗·卡雷尔
/ usr / bin / python是唯一的“可执行文件”吗?
什么
ls -l /usr/bin/python*
显示? 和
ls -l /usr/bin/X11/python*
和
type -a python
?