🐍
Poetryのインストールで詰まった話
tl;dr
NotOpenSSLWarning
がうるさかったのでマニュアルインストールした
環境
MacBook Pro(M3 Pro)
macOS Sonoma 14.3.1
$ which python
python not found
$ which python3
/usr/bin/python3
$ python3 -V
Python 3.9.6
なお、今までPythonとPoetryをそれぞれmiseで入れて使っていたので、/usr/bin/python3
はほぼ使っていない。
経緯
Pythonの嫌なところをだいぶ隠してくれる存在、Poetry。poetry
コマンドがいちいち警告を出すようになってしまった。
$ poetry -V
/Users/taro137/.local/share/mise/installs/poetry/1.8.3/venv/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Poetry (version 1.8.3)
mise経由で入れたのがだめなのかと思い公式インストーラで入れようとしたところ、エラーを吐いてインストールに失敗してしまった。この邪魔な警告を受け入れて共に生きていくしかないのだろうか?
ググってみたところ似たようなケースがいくつか見つかった。
......が、どれも対処法としてpip install urllib3
する方法ばかり紹介している。しかしグローバルのpip
で迂闊にpip install
するのはどうにも怖い。そこでPoetryのインストール方法のページをよく見ると、マニュアルインストールする方法が書かれている。
python3 -m venv $VENV_PATH
$VENV_PATH/bin/pip install -U pip setuptools
$VENV_PATH/bin/pip install poetry
今回は$VENV_PATH
を~/.poetry_env
としてこれを実行することにした。
動作確認。miseのpoetryを消してから以下を実行した。
$ ~/.poetry_env/bin/poetry -V
/Users/taro137/.poetry_env/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Poetry (version 1.8.3)
例の警告は出るがpoetry自体は動いている。次にurllib3をインストールする。ここでさっき作ったpoetry用仮想環境のpip
を使うのが肝である。
$ ~/.poetry_env/bin/pip3 install urllib3==1.26.15
Collecting urllib3==1.26.15
Downloading urllib3-1.26.15-py2.py3-none-any.whl.metadata (48 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.1/48.1 kB 2.9 MB/s eta 0:00:00
Downloading urllib3-1.26.15-py2.py3-none-any.whl (140 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.9/140.9 kB 8.5 MB/s eta 0:00:00
Installing collected packages: urllib3
Attempting uninstall: urllib3
Found existing installation: urllib3 2.2.1
Uninstalling urllib3-2.2.1:
Successfully uninstalled urllib3-2.2.1
Successfully installed urllib3-1.26.15
$ ~/.poetry_env/bin/poetry -V
Poetry (version 1.8.3)
警告が消えた!
毎回~/.poetry_env/bin/poetry
と打つのは面倒なので
echo "alias poetry='~/.poetry_env/bin/poetry'" >> ~/.zshrc
source ~/.zshrc
として完了。
Discussion