🐕
"install-poetry.py"実行時にModuleNotFoundErrorが発生
環境
- Python3.8
- poetry 1.1.6
- Ubuntu18.04
試したこと
ubuntuのdockerイメージ上でpython環境を構築する際、poetryのインストールでModuleNotFoundError
が発生しました。
以下のコマンドを実行しました。
$ sudo apt install python3.8 python3-distutils
$ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python3.8 -
Retrieving Poetry metadata
# 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:
/root/.local/bin
You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.
Installing Poetry (1.1.6): Creating environment
Traceback (most recent call last):
File "<stdin>", line 808, in <module>
File "<stdin>", line 804, in main
File "<stdin>", line 417, in run
File "<stdin>", line 439, in install
File "<stdin>", line 503, in make_env
ModuleNotFoundError: No module named 'virtualenv'
以下、install-poetry.py
の503行目付近です。
with temporary_directory() as tmp_dir:
subprocess.call(
[sys.executable, "-m", "pip", "install", "virtualenv", "-t", tmp_dir],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
)
sys.path.insert(0, tmp_dir)
import virtualenv
エラーの原因
pipコマンドをインストールしていないことが、エラーの原因でした。
subprocess.call
でステータスコードをチェックしてくれると、よかったのですが。。。
2021/05/25現在、poetryのインストール方法がget-poetry.py
からinstall-poetry.py
へ移行するようなので、将来的には解決しそうですね。
Discussion