OptunaでModuleNotFoundError: No module named ‘_yaml’

投稿者: Anonymous

パラメータ自動最適化ツールの Optuna を実行しようとしています。

Optunaをインストールし、Quick Startのサンプルコードを実行しようとしたところ、

ModuleNotFoundError: No module named '_yaml'

というエラーメッセージが表示されてしまいました。

Libsite-packagesyamlcyaml.pyの5行目、

from _yaml import CParser, CEmitter

で発生します。

Python、optuna、pyyamlのバージョンはそれぞれ以下の通りです。
アドバイス、よろしくお願いいたします。

実行環境

Python 3.6.1 :: Anaconda 4.4.0 (64-bit)

Name: PyYAML
Version: 3.12
Summary: YAML parser and emitter for Python
Home-page: http://pyyaml.org/wiki/PyYAML
Author: Kirill Simonov
Author-email: [email protected]
License: MIT
Location: c:programdataanaconda3envschainer5_0_0_py36libsite-packages
Requires:
Required-by: cliff

Name: optuna
Version: 0.10.0
Summary: UNKNOWN
Home-page: https://optuna.org/
Author: Takuya Akiba
Author-email: [email protected]
License: UNKNOWN
Location: c:programdataanaconda3envschainer5_0_0_py36libsite-packages
Requires: sqlalchemy, numpy, scipy, six, typing, cliff, colorlog, pandas, alembic
Required-by:

解決

あなたの環境に欠けているものはC言語ベースのyamlライブラリです。
PyPI上のPyYAML 3.12パッケージ(https://pypi.org/project/PyYAML/3.12/#files)にこの拡張子があります。

これはおそらくAnacondaを使用することによって引き起こされる問題です。これはPyPIや pipベースのインストールと完全な互換性がないためにしばしば問題を引き起こします。

通常のPythonのインストールを試してみて、Optunaをvirtualenvにインストールしてください。Anacondaは使わないでください。

(Apologies for the use of Google Translate, I studied Japanese for 2 years back in the early 80’s but probably cannot even order a beer).

ステップ:
– 最新の[python 3.6](https://www.python.org/downloads/release/python-368/)をダウンロードする
– Pythonをインストールする
– virtualenvを作成する: pathtopython.exe -m venv %TEMP%optuna
– %TEMP%optunaScriptsactivate.bat
– pip install optuna pyyaml==3.13

(すべてのパスとファイル名が正しいかどうかわからない)

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *