簡體   English   中英

無法從源代碼安裝mod_wsgi

[英]Unable to install mod_wsgi from source

嘗試安裝modwisgi-3.4時,在make過程中出現以下錯誤: mod_wsgi.c:142:20: error: Python.h: No such file or directory官方疑難解答頁面http://code.google.com/p / modwsgi / wiki / InstallationIssues建議“安裝與您已安裝的Python運行時軟件包相對應的Python開發人員軟件包”。

現在如何從源代碼安裝提到的開發包? 我正在使用httpd-2.2.24和modwisgi 3.4在linux上運行python2.7.4。

運行以下命令:

$ python-config --cflags

這將為您提供標志列表,以傳遞給編譯器以查找Python.h:

$ python-config --cflags
-I/usr/include/python3.3m -I/usr/include/python3.3m -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=
1 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -pipe -fstack-pr
otector --param=ssp-buffer-size=4 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ss
p-buffer-size=4

您可能還需要為必要的鏈接器標志運行python-config --ldflags

如果安裝了多個版本的Python,則可以指定python2.7-config

然后,我將手動編輯文件posix-ap2X.mk.in ,使其包含以下內容:

CFLAGS = @CFLAGS@ $(shell python-config --cflags)
LDFLAGS = @LDFLAGS@ $(shell python-config --ldflags)

configure.ac Autoconf文件試圖找出這些東西,但是似乎以一種笨拙的方式來完成它,顯然對您不起作用,因此希望這種手動方式可以解決這些問題。

編輯:哦,也請確保使用正確的python-config並根據需要指定要使用的Python解釋器。 例如,如果您已將Python從源代碼安裝到某個非標准位置,而通常又安裝了另一個版本,請確保指定此名稱(即,在上面的編輯中使用/path/to/my/python-config和將參數PYTHON=/path/to/my/python傳遞給configure腳本)。 實際上,僅指定正確的Python解釋器可能會導致所包含的configure腳本正確執行其工作。

您必須使用--with-python選項將mod_wsgi配置為告訴它從源代碼安裝的“ python”二進制文件的路徑。 看來您尚未執行此操作,並且仍在使用系統Python,該系統未安裝相應的dev軟件包。 在運行時提供實際“配置”腳本命令行的詳細信息,並告訴我們您自己安裝的Python實際位於何處。 另外,請確保運行“ make distclean”以清除所有舊版本的結果,以防萬一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM