public_notes/content/20240315110428 venv pyenv virtualenv などの関係.md

18 lines
No EOL
2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 20240315110428 venv pyenv virtualenv などの関係
#python #venv #pyenv #virtualenv #poetry
## 雑な説明
- pyenv : pythonそのもののバージョンを複数切りかえたい時に使用するツール [[20240315154213 pyenv|pyenv]]
- venv : pythonに標準で付属するvirtualenvの機能限定版 [[20240121125457 venv|venv]]
- virtualenv : (自分のユースケースでは直接気にしなくていいかも)pipをプロジェクト専用にインストールする環境を構築してくれるツール。pythonのバージョン切りかえが可能、と解説してあるサイト等もあるが本当かな
## poetryとの関係
- virtualenv: poetryで生成されるプロジェクト内(or cacheの) .venv はvirtualenv経由で作成されている。 cf. [Configuration | Documentation | Poetry - Python dependency management and packaging made easy](https://python-poetry.org/docs/configuration/)
- pyenv: `poetry env use`コマンドを使うことで、実行環境を切りかえられる。 ただし、poetry initの時に実行されるのは、ディレクトリ内で `pyenv local` を指定したとしても、systemのバージョンになる。 `pyenv global`の内容も無視される。
- pyenv: システムのpythonのバージョンが古くてpoetryがインストールできないみたいなことがある。そういう時はpyenvで新し目のpython環境を作って、その環境でpoetryを入れるなどする
- pyenv: (将来的にはpyenvで実行環境を指定してからpoetryを実行することで、プロジェクトで使うpythonのバージョンを設定できる。 experimental扱い)
## Ref.
- Poetry Configuration [Configuration | Documentation | Poetry - Python dependency management and packaging made easy](https://python-poetry.org/docs/configuration/)
- Poetry Managing environments [Managing environments | Documentation | Poetry - Python dependency management and packaging made easy](https://python-poetry.org/docs/managing-environments/)