要約
とあるスパコンで前回の記事(Python環境が訳わからなくならないための自分用メモ - かつかれーのメモ帳)に従ってPython環境を作った後、Neovimの環境構築をしていたところ、
python -m pip install neovim
の段階で表題のエラーが発生。
調べてみるとlibffiが無いのがいけないらしい。そのせいで「_ctypesが使えないpython」としてビルドされてしまった感じ。
pyenv uninstall 3.9.2
して、以下の手順の通りlibffiを入れてからpythonを入れ直すことで解決できた。
手順
普通にローカルにダウンロードして解凍、ビルド、インストール。もちろん$HOME配下である必要がある。
wget https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz tar xvfz libffi-3.3.tar.gz cd libffi-3.3 ./configure --prefix=$HOME/local/libffi/3_3 make make install
すると~/local内にlibffi/3_3/が出来る。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/libffi/3_3/lib64 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/local/libffi/3_3/lib/pkgconfig
をbashrcに追記、sourceしてから
LDFLAGS="-L $HOME/local/libffi/3_3/lib64" CPPFLAGS="-I $HOME/lo cal/libffi/3_3/include" pyenv install 3.9.2
でpython 3.9.2を入れ直せば完了。pipも正常に通った。