環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

CentOS 7.7のPython 3.7.5にgensimをインストールできない:ModuleNotFoundError: No module named _ctypes

CentOS Linux release 7.7.1908 に自然言語処理の gensim を pip でインストールしようとすると下のようなエラーが出た。

ModuleNotFoundError: No module named '_ctypes'

_ctypes という名前のモジュールがないというエラーはよく見る。このエラーは Python そのものがインストールできない場合でよく起きるようだが、今回は gensim のインストールだった。

ちなみに Python は pyenv でインストールしている。

エラーが起きた環境:

結論は CentOS 7.7.1908 と Python 3.7.5 の相性だった。Python 3.7.5 でも、最新の Mac で特に問題はなく gensim をインストールできた。

「OpenSSL のバージョンが古いから _ctypes エラーが起きる」といった記事を見かけたが、OpenSSL のバージョンを適切にしても直らなかった。

結論: Python 3.6.9 を代わりにインストールする

しかし CentOS 7.7.1908 に Python 3.6.9 をインストールすると、きちんと gensim をインストールできた。

ちなみに 2019 年 11 月現在、Python 3.8 に TensorFlow をインストールすることはできない(と思われる)。自然言語処理も含めて、機械学習全般を行うには Python 3.6.9 が無難かもしれない。

Python 環境設定