我有一個小問題(還是一個大問題?)。我想安裝 Python 3.4 的正規表示式套件。但後來我使用 pip 或我們的安裝方法時發生錯誤:
Universe@universe-AOD270:~/Downloads/regex-2016.04.25$ python setup.py 安裝--用戶 運行安裝 運行建置 運行build_py 創建構建 建立 build/lib.linux-x86_64-2.7 複製 Python2/regex.py -> build/lib.linux-x86_64-2.7 複製 Python2/_regex_core.py -> build/lib.linux-x86_64-2.7 複製 Python2/test_regex.py -> build/lib.linux-x86_64-2.7 運行 build_ext 建構“_regex”擴充 建立 build/temp.linux-x86_64-2.7 建立 build/temp.linux-x86_64-2.7/Python2 x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror-Fformat -I/usr/include/python2.7 -c Python2/_regex.c -o build/temp.linux-x86_64-2.7/Python2/_regex.o ****Python2/_regex.c:46:20:致命錯誤:Python.h:沒有這樣的檔案或目錄 編譯終止。 錯誤:指令「x86_64-linux-gnu-gcc」失敗,退出狀態為 1
我認為出現這個問題是因為安裝程式嘗試將此套件安裝到Python2.7目錄中,但我不確定。我嘗試 pip 安裝,從 Python 解釋器啟動,透過終端機運行,但沒有成功。請幫我解決這個問題。提前致謝。
答案1
我也遇到了這個錯誤,然後我發現 python3-dev 丟失了,但是當我運行命令時它已經安裝了。然後我使用以下命令檢查安裝的 python 版本 -
sudo find / -name "Python.h"
輸出就像 -
python2.7/Python.h
python3.5/Python.h
然後我使用下面的命令檢查正在運行的 python 版本來安裝該套件
python3 -V
輸出 -
Python 3.6.7
所以要安裝 python3-dev 使用下面的指令
sudo apt-get install python3.6-dev
只需將其替換為您的 python3 或 python2 版本即可
答案2
這是因為你的 python versoin沒有python-dev
安裝套件。python3-dev
只需透過“pip”或“pip3”軟體包安裝程式安裝它們即可享受它!
請注意,如果您發現上述軟體包已安裝並且您的問題仍然存在!
sudo find / -name "Python.h"
然後新增列出的路徑,其中包含Python.h
到您的C_INCLUDE_PATH
環境變數中,例如:
export C_INCLUDE_PATH=/usr/include/python3.6m/
現在重試安裝並享受吧!