如題,在 Python 3.11+ 中安裝 cchardet 會報錯如下
root@nya:/pgp# pip3 install cchardet
收集 cchardet
使用快取的 cchardet-2.1.7.tar.gz (653 kB)
準備元資料 (setup.py) ... 完成
為收集的套件建立輪子: cchardet
為 cchardet 建立輪子 (setup.py) ... 錯誤
錯誤: 子進程退出時出錯
× python setup.py bdist_wheel 未成功運行。
│ 退出代碼: 1
╰─> [23 行的輸出]
正在運行 bdist_wheel
正在運行 build
正在運行 build_py
創建 build
創建 build/lib.linux-x86_64-cpython-311
創建 build/lib.linux-x86_64-cpython-311/cchardet
複製 src/cchardet/version.py -> build/lib.linux-x86_64-cpython-311/cchardet
複製 src/cchardet/__init__.py -> build/lib.linux-x86_64-cpython-311/cchardet
正在運行 build_ext
建立 'cchardet._cchardet' 擴展
創建 build/temp.linux-x86_64-cpython-311
創建 build/temp.linux-x86_64-cpython-311/src
創建 build/temp.linux-x86_64-cpython-311/src/cchardet
創建 build/temp.linux-x86_64-cpython-311/src/ext
創建 build/temp.linux-x86_64-cpython-311/src/ext/uchardet
創建 build/temp.linux-x86_64-cpython-311/src/ext/uchardet/src
創建 build/temp.linux-x86_64-cpython-311/src/ext/uchardet/src/LangModels
x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Isrc/ext/uchardet/src -I/usr/include/python3.11 -c src/cchardet/_cchardet.cpp -o build/temp.linux-x86_64-cpython-311/src/cchardet/_cchardet.o
src/cchardet/_cchardet.cpp:196:12: 致命錯誤: longintrepr.h: 沒有這個檔案或目錄
196 | #include "longintrepr.h"
| ^~~~~~~~~~~~~~~
編譯終止。
錯誤: 命令 '/usr/bin/x86_64-linux-gnu-gcc' 以退出代碼 1 失敗
[輸出結束]
注意: 此錯誤源於子進程,並且可能不是 pip 的問題。
錯誤: 無法為 cchardet 建立輪子
正在為 cchardet 運行 setup.py clean
無法建立 cchardet
安裝收集的套件: cchardet
正在為 cchardet 運行 setup.py install ... 錯誤
錯誤: 子進程退出時出錯
× 為 cchardet 運行 setup.py install 未成功運行。
│ 退出代碼: 1
╰─> [25 行的輸出]
正在運行 install
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install 已被棄用。請使用 build 和 pip 及其他基於標準的工具。
warnings.warn(
正在運行 build
正在運行 build_py
創建 build
創建 build/lib.linux-x86_64-cpython-311
創建 build/lib.linux-x86_64-cpython-311/cchardet
複製 src/cchardet/version.py -> build/lib.linux-x86_64-cpython-311/cchardet
複製 src/cchardet/__init__.py -> build/lib.linux-x86_64-cpython-311/cchardet
正在運行 build_ext
建立 'cchardet._cchardet' 擴展
創建 build/temp.linux-x86_64-cpython-311
創建 build/temp.linux-x86_64-cpython-311/src
創建 build/temp.linux-x86_64-cpython-311/src/cchardet
創建 build/temp.linux-x86_64-cpython-311/src/ext
創建 build/temp.linux-x86_64-cpython-311/src/ext/uchardet
創建 build/temp.linux-x86_64-cpython-311/src/ext/uchardet/src
創建 build/temp.linux-x86_64-cpython-311/src/ext/uchardet/src/LangModels
x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Isrc/ext/uchardet/src -I/usr/include/python3.11 -c src/cchardet/_cchardet.cpp -o build/temp.linux-x86_64-cpython-311/src/cchardet/_cchardet.o
src/cchardet/_cchardet.cpp:196:12: 致命錯誤: longintrepr.h: 沒有這個檔案或目錄
196 | #include "longintrepr.h"
| ^~~~~~~~~~~~~~~
編譯終止。
錯誤: 命令 '/usr/bin/x86_64-linux-gnu-gcc' 以退出代碼 1 失敗
[輸出結束]
注意: 此錯誤源於子進程,並且可能不是 pip 的問題。
錯誤: 遺留安裝失敗
× 嘗試安裝套件時遇到錯誤。
╰─> cchardet
注意: 這是上述提到的套件的問題,而不是 pip。
提示: 請參見上面的失敗輸出。
root@nya:/pgp#
然而 cchardet 作者好像已經跑路很久了,等作者修應該是不可能了
所以只需要
pip3 install cython
即可解決問題
root@nya:/pgp# pip install cython
收集 cython
下載 Cython-3.0.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.6/3.6 MB 30.4 MB/s eta 0:00:00
安裝收集的套件: cython
成功安裝 cython-3.0.10
警告: 以 'root' 用戶身份運行 pip 可能會導致權限損壞和與系統套件管理器的衝突行為。建議使用虛擬環境: https://pip.pypa.io/warnings/venv
root@nya:/pgp# pip3 install cchardet
收集 cchardet
使用快取的 cchardet-2.1.7.tar.gz (653 kB)
準備元資料 (setup.py) ... 完成
為收集的套件建立輪子: cchardet
為 cchardet 建立輪子 (setup.py) ... 完成
為 cchardet 創建輪子: filename=cchardet-2.1.7-cp311-cp311-linux_x86_64.whl size=293924 sha256=f1047bca199fd5cd9b4009133aacd9b2d6738723e1a8f106fc17e9efa000f0cb
存儲在目錄: /root/.cache/pip/wheels/5e/37/0f/444b73ed86b6045e2c3cc9122401f064158f035f099a0a9e64
成功建立 cchardet
安裝收集的套件: cchardet
成功安裝 cchardet-2.1.7
警告: 以 'root' 用戶身份運行 pip 可能會導致權限損壞和與系統套件管理器的衝突行為。建議使用虛擬環境: https://pip.pypa.io/warnings/venv
root@nya:/pgp#
如果文章對你有用,還請點個讚,謝謝喵
此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://blog.nekorua.com/posts/maintain/126.html