mod_wsgi在多个Python版本下配置apache

前言

也许你会遇到这样的问题:Linux默认安装了Python2.6,在当下一些框架总是不支持低版本的Python,不得不去安装较高版本的Python,如Python2.7。然而当高版本的安装后,apache依然找到的是Python2.6,此刻便是头疼时刻。不妨看看这篇文档。当然这里是需要你保证在输入python --version之后输出的版本好是高版本的。那么剩下的问题我们不妨就在这里探讨一番,

问题

安装Python2.7后当再去运行之前基于python2.6环境配置的项目在apache以及mod_wsgi下可以正常运行的项目,却报出如下异常信息:

版本依赖出错,看了下详细信息在运行apache的时候既加载了Python2.7的site-packages又加载了Python2.6的site-packages

按照逻辑来寻找原因:

  • 之所以会加载python2.7的信息i,是因为我在httpd.conf中配置了python-path
  • python2.6的信息则是系统默认Python版本
  • 严重的错误是直接输出的Python版本为2.6的

解决问题

针对上面的问题进行一系列排查:首先不应该出现Python2.6的相关信息,因为在系统中已经处理过Python的版本,即使在终端python --version输出的也是2.7版本。apache是一个独立的模块,自然不会导致与Python交互的错误。唯一与Python打交道的一个中介组件便是mod_wsgi。

由于mod_wsgi是针对不同版本Python设计实现的,那么更换了Python版本之后自然需要更换一下mod_wsgi的版本。

之前使用的是Python2.6+mod_wsgi3.3,此时将mod_wsgi换成4.1版本的。激动的时刻出现了,可以正常运行。

时间: 2024-11-07 14:11:54

mod_wsgi在多个Python版本下配置apache的相关文章

openSUSE下配置Apache开启重写模块

这几天刚重装了系统,需要进行一大堆配置,笔者是一名LAMPer,当然要配置apache+php+mysql了,我用的发行版是opensuse13.1,. 安装好apache后,需要开启URL重写功能以配合项目的开发.打开apache的配置文件/etc/apache2/httpd.conf,找到AllowOverride None,改成AllowOverride ALL,再找到Option None改为Option FollowSymLinks .这样还不行,还要加载Rewrite模块. Rewr

mac 10.9.4下配置apache

mac 10.9.x已经自带了apache,可按如下步骤开启: 1.启动 sudo apachectl start 启动后,访问 http://localhost/ 应该能看到"It works!"的初始页面,如果对初始页面的内容感到好奇,可以打开"/etc/apache2/httpd.conf",197行可以看到如下代码片段: 1 <Directory "/Library/WebServer/Documents"> 2 # 3 #

Ubuntu下配置apache的默认首页

1.因为Ubuntu比较乱,需要寻找DirectoryIndex存放在哪个配置文档中 grep -iR DirectoryIndex /etc/apache2 我这里提示三个路径存放,第三个为phpmyadmin,无关,进入前两个(任意一个皆可,改完其中一个另外一个自动更改) 2.sudo vim /etc/apache2/mods-available/dir.conf 在<ifModule mod_dir.c>中,修改DirectoryIndex为项目路径/项目名/index.php esc

Windows下配置Apache服务器并支持php

php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php.Python.Java甚至asp等服务端语言,要把Apache理解成单独的服务器,并不一定和php搭档,只是和php配合是比较流行的一种组合方式,就比如lamp就是比较流行的网站架构,所以,首先我们来配置Apache,首先让服务器跑起来并能解析静态的html文件 首先我们去官网下载最新版本的Apache,首先来到首页:http://www.apa

Mac OS X 10.10 Yosemite下配置 apache+php

自从系统从OS X Mavericks 10.9升级到OS X Yosemite 10.10 后之前配置apache和php均不能正常使用了, 重新设置配置如下: 首先,查看当前系统的apache版本,终端下输入:httpd -v Apache/2.4.0 1. 启动Apache 服务      sudo apachectl start      打开safari,访问:http://localhost,显示“It works!”表示Apache启动正常 当前访问的是Apache的默认目录,/L

OSX系统下配置Apache+PHP+MySQL+Navicat

概述 OSX系统对于PHP运行非常友好,我们只需要进行简单的配置便可以开始进行使用,本篇文章将一步一步地介绍Apache.PHP和MySQL的安装与配置,为开始进行开发铺好路 Apache 启动Apache服务 在Mac系统中已经安装好了Apache服务,我们只需要通过如下方式启动即可直接使用 在终端中输入如下命令,启动Apache服务 sudo apachectl start 在终端中输入如下命令,查看Apache服务版本 sudo apachectl -v 在浏览器中输入如下网址,检查Apa

windows下配置Apache PHP和MySQL

其实这个网上有很多资源了,但是都是又老又旧的,Apache都是针对2.2的,php也是5.3之前的,mysql也有了很大变化.当然也有WAMP这种集成环境,但我还是喜欢自己鼓捣一番. Apache2.4 下载地址:http://www.apachelounge.com/download/http://www.apachehaus.com/cgi-bin/download.plx Apache更新到2.4了,Apache2.2那会会提供安装包,2.4的时候只有一个压缩包,你只要解压拷贝到你要作为服

Ubuntu下配置apache开启https

一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那https到底是怎么开启的,随着疑问自己也了解https配置原理并在Ubuntu服务器上开启了https. 二.配置证书 配置https一个很重要的步骤就是配置证书. 1.创建证书 sudo apt-get install ssl-cert make-ssl-cert生成证书的方法有两种,一种是根据生成

Mac下配置apache

一.前言 今天遇到问题,怎么配置apache在Mac上,原来Mac自带apache,只需要自己开启配置一下就行了. 二.步骤: 1.修改apache的http_conf文件 打开finder前往/private/etc/apache2,在这个文件加下有一个http.conf用文本编辑器打开. 修改第一处:查找php.得到如下结果 #LoadModule php5_module libexec/apache2/libphp5.so 去掉前面的#号. 修改第二处:查找documentRoot.会找到