お悩みさん
No module named ‘cleo’ってエラーがでてきた!
poetryをcronで実行できる手順をこちらの記事でご紹介しました。
【Poetry】cronを使って、スクリプトを好きな時間に自動実行|venv環境での対処法
毎回、Pythonのスクリプト実行がめんどくさい!実行を自動化する方法を教えて! Pythonで作業の自動化に励んでいると、コードは書けたけど、毎日スクリプトの実行とか、…
その際に、出会したエラーが以下です。
ModuleNotFoundError: No module named 'cleo'
対処法に困ったので記載をしておきます。
目次
ModuleNotFoundError: No module named ‘cleo’
cronのlogには以下のエラーが記載されていました。
Traceback (most recent call last):
File "/Users/xxxxxxxxxxx/.poetry/bin/poetry", line 16, in <module>
from poetry.console import main
File "/Users/xxxxxxxxxxx/.poetry/lib/poetry/console/__init__.py", line 1, in <module>
from .application import Application
File "/Users/xxxxxxxxxxx/.poetry/lib/poetry/console/application.py", line 1, in <module>
from cleo import Application as BaseApplication
ModuleNotFoundError: No module named 'cleo'
全く思い当たるところがありません。
結論から言うと、対処法は簡単で、poetryを一度アンインストール、その後、改めてインストールを実行すればOKです。
poetryのアンインストール
コマンドは以下です。
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - --uninstall
以下のような表示がでれば、アンインストール完了です。
# We are sorry to see you go!
This will uninstall Poetry.
poetryの再インストール
コマンドは以下です。
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
Retrieving Poetry metadata
以下のような表示がでれば、インストール完了です。
This installer is deprecated. Poetry versions installed using this script will not be able to use 'self update' command to upgrade to 1.2.0a1 or later.
# Welcome to Poetry!
This will download and install the latest version of Poetry,
a dependency and package manager for Python.
It will add the `poetry` command to Poetry's bin directory, located at:
$HOME/.poetry/bin
これで、改めてpoetryを実行すれば、おそらくエラーは解消されているはずです。
まとめ
ModuleNotFoundError: No module named 'cleo'
という謎のエラーの解消法をお伝えしました。
検索したところ、英語の記事ばかりで、日本語で解決した記事が全くなかったので、対処法をお伝えしました。
poetryのアンインストールは不安もあったのですが、特に不具合も全くありませんでした。
ぜひ参考にしてみてください。
コメント