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

18 lines
2 KiB
Markdown
Raw Permalink Normal View History

2024-03-15 17:15:02 +09:00
# 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`の内容も無視される。
2024-03-28 17:00:45 +09:00
- pyenv: システムのpythonのバージョンが古くてpoetryがインストールできないみたいなことがある。そういう時はpyenvで新し目のpython環境を作って、その環境でpoetryを入れるなどする
2024-03-15 17:15:02 +09:00
- 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/)