如題、Python 3.11+ に cchardet をインストールすると、以下のようなエラーが発生します
root@nya:/pgp# pip3 install cchardet
Collecting cchardet
Using cached cchardet-2.1.7.tar.gz (653 kB)
Preparing metadata (setup.py) ... done
Building wheels for collected packages: cchardet
Building wheel for cchardet (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel が正常に実行されませんでした。
│ exit code: 1
╰─> [23 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-311
creating build/lib.linux-x86_64-cpython-311/cchardet
copying src/cchardet/version.py -> build/lib.linux-x86_64-cpython-311/cchardet
copying src/cchardet/__init__.py -> build/lib.linux-x86_64-cpython-311/cchardet
running build_ext
building 'cchardet._cchardet' extension
creating build/temp.linux-x86_64-cpython-311
creating build/temp.linux-x86_64-cpython-311/src
creating build/temp.linux-x86_64-cpython-311/src/cchardet
creating build/temp.linux-x86_64-cpython-311/src/ext
creating build/temp.linux-x86_64-cpython-311/src/ext/uchardet
creating build/temp.linux-x86_64-cpython-311/src/ext/uchardet/src
creating 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: fatal error: longintrepr.h: No such file or directory
196 | #include "longintrepr.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
[end of output]
note: このエラーはサブプロセスから発生しており、pip の問題ではない可能性があります。
ERROR: cchardet のホイールのビルドに失敗しました
Running setup.py clean for cchardet
cchardet のビルドに失敗しました
Installing collected packages: cchardet
Running setup.py install for cchardet ... error
error: subprocess-exited-with-error
× cchardet の setup.py install が正常に実行されませんでした。
│ exit code: 1
╰─> [25 lines of output]
running install
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install は非推奨です。build と pip などの標準ベースのツールを使用してください。
warnings.warn(
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-311
creating build/lib.linux-x86_64-cpython-311/cchardet
copying src/cchardet/version.py -> build/lib.linux-x86_64-cpython-311/cchardet
copying src/cchardet/__init__.py -> build/lib.linux-x86_64-cpython-311/cchardet
running build_ext
building 'cchardet._cchardet' extension
creating build/temp.linux-x86_64-cpython-311
creating build/temp.linux-x86_64-cpython-311/src
creating build/temp.linux-x86_64-cpython-311/src/cchardet
creating build/temp.linux-x86_64-cpython-311/src/ext
creating build/temp.linux-x86_64-cpython-311/src/ext/uchardet
creating build/temp.linux-x86_64-cpython-311/src/ext/uchardet/src
creating 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: fatal error: longintrepr.h: No such file or directory
196 | #include "longintrepr.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
[end of output]
note: このエラーはサブプロセスから発生しており、pip の問題ではない可能性があります。
error: legacy-install-failure
× パッケージのインストール中にエラーが発生しました。
╰─> cchardet
note: これは上記のパッケージの問題であり、pip の問題ではありません。
hint: 上記の失敗の出力を参照してください。
root@nya:/pgp#
しかし、cchardet の作者はすでに長い間姿を消しているようで、作者が修正するのを待つのは不可能でしょう
したがって、次のコマンドを実行するだけで済みます
pip3 install cython
で問題が解決します
root@nya:/pgp# pip install cython
Collecting cython
Downloading 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
Installing collected packages: cython
Successfully installed cython-3.0.10
WARNING: 'root' ユーザーとして pip を実行すると、権限の破損やシステムパッケージマネージャーとの競合が発生する可能性があります。代わりに仮想環境を使用することをお勧めします: https://pip.pypa.io/warnings/venv
root@nya:/pgp# pip3 install cchardet
Collecting cchardet
Using cached cchardet-2.1.7.tar.gz (653 kB)
Preparing metadata (setup.py) ... done
Building wheels for collected packages: cchardet
Building wheel for cchardet (setup.py) ... done
Created wheel for cchardet: filename=cchardet-2.1.7-cp311-cp311-linux_x86_64.whl size=293924 sha256=f1047bca199fd5cd9b4009133aacd9b2d6738723e1a8f106fc17e9efa000f0cb
Stored in directory: /root/.cache/pip/wheels/5e/37/0f/444b73ed86b6045e2c3cc9122401f064158f035f099a0a9e64
Successfully built cchardet
Installing collected packages: cchardet
Successfully installed cchardet-2.1.7
WARNING: 'root' ユーザーとして pip を実行すると、権限の破損やシステムパッケージマネージャーとの競合が発生する可能性があります。代わりに仮想環境を使用することをお勧めします: https://pip.pypa.io/warnings/venv
root@nya:/pgp#
この記事が役に立った場合は、ぜひいいねを押してください。ありがとうございますニャ
この記事は Mix Space によって xLog に同期更新されました
元のリンクは https://blog.nekorua.com/posts/maintain/126.html