Open5
poetryがインストールされない
MavBook Pro購入時に環境構築でpoetryがインストールされない
Installing Poetry (1.8.4): Creating environment
Traceback (most recent call last):
File "<stdin>", line 945, in <module>
File "<stdin>", line 923, in main
File "<stdin>", line 560, in run
File "<stdin>", line 581, in install
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/contextlib.py", line 117, in __enter__
return next(self.gen)
File "<stdin>", line 653, in make_env
File "<stdin>", line 639, in make_env
File "<stdin>", line 317, in make
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/venv/__init__.py", line 66, in __init__
self.symlinks = should_use_symlinks(symlinks)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/venv/__init__.py", line 31, in should_use_symlinks
raise Exception("This build of python cannot create venvs without using symlinks")
Exception: This build of python cannot create venvs without using symlinks
pipxを使用する方法:
# Homebrewでpipxをインストール
brew install pipx
pipx ensurepath
# Poetryをインストール
pipx install poetry
利点:
クリーンな環境で Poetry を管理
依存関係の競合を防ぐ
バージョン管理が容易
pyenvを使用する方法:
# Homebrewでpyenvをインストール
brew install pyenv
# シェル設定に追加(~/.zshrcまたは~/.bash_profile)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
# Pythonをインストール
pyenv install 3.10.5
pyenv global 3.10.5
# Poetryをインストール
curl -sSL https://install.python-poetry.org | python3 -
# PATHの設定
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile
利点:
システムPythonに依存しない
Python バージョンの管理が容易
symlinks問題を回避
インストールスクリプトを修正する方法:
curl -sSL https://install.python-poetry.org | sed 's/symlinks=False/symlinks=True/' | python3 -\
利点:
追加のツールのインストールが不要
直接的な解決方法
システムの変更が最小限
Homebrewを使用する方法(シンプルだが非推奨):
brew install poetry
利点:
最も簡単な方法
Homebrewの管理下で一貫性を保てる
注意点:
インストール後は必ず poetry --version で動作確認
PATHの設定が必要な場合がある
システムPython(Xcode/Command Line Tools)の使用は避ける
Homebrew方式は公式サポート対象外
結局pipxでpoetryインストールしました
手順
# Homebrewでpipxをインストール
brew install pipx
pipx ensurepath
# Poetryをインストール
pipx install poetry
# もう一度パスを通す
pipx ensurepath
# シェルの再起動
source ~/.zshrc
# これでOK
poetry -v
Poetry (version 1.8.4)
pipx ensurepathは、pipxを通してインストールした全てのツール(Poetryを含む)を認識できるようにシステムのPATHを設定するコマンドです。
具体的には:
pipxがツールをインストールする場所:
~/.local/bin ディレクトリ
このコマンドの役割:
システムのPATHに~/.local/binを追加する
これにより、このディレクトリにある全てのツールをコマンドとして認識できるようになる
参考