mod_wsgi在多個Python版本下配置apache

前言

也許你會遇到這樣的問題:Linux默認安裝了Python2.6,在當下一些框架老是不支持低版本的Python,不得不去安裝較高版本的Python,如Python2.7。然而當高版本的安裝後,apache依然找到的是Python2.6,此刻即是頭疼時刻。不妨看看這篇文檔。固然這裏是須要你保證在輸入python --version以後輸出的版本好是高版本的。那麼剩下的問題咱們不妨就在這裏探討一番,python

問題

安裝Python2.7後當再去運行以前基於python2.6環境配置的項目在apache以及mod_wsgi下能夠正常運行的項目,卻報出以下異常信息:
apache

版本依賴出錯,看了下詳細信息在運行apache的時候既加載了Python2.7的site-packages又加載了Python2.6的site-packages框架

按照邏輯來尋找緣由:python2.7

  • 之因此會加載python2.7的信息i,是由於我在httpd.conf中配置了python-pathspa

  • python2.6的信息則是系統默認Python版本設計

  • 嚴重的錯誤是直接輸出的Python版本爲2.6的文檔

解決問題

針對上面的問題進行一系列排查:首先不該該出現Python2.6的相關信息,由於在系統中已經處理過Python的版本,即便在終端python --version輸出的也是2.7版本。apache是一個獨立的模塊,天然不會致使與Python交互的錯誤。惟一與Python打交道的一箇中介組件即是mod_wsgi。it

因爲mod_wsgi是針對不一樣版本Python設計實現的,那麼更換了Python版本以後天然須要更換一下mod_wsgi的版本。io

以前使用的是Python2.6+mod_wsgi3.3,此時將mod_wsgi換成4.1版本的。激動的時刻出現了,能夠正常運行。配置

相關文章
相關標籤/搜索