0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python (仮想)環境構築まとめ

Last updated at Posted at 2024-09-12

pip

pipによるライブラリのインストール

python -m pip install --upgrade pip #pipのアップデート
python -m pip install numpy
python -m pip install "matplotlib<3.9"
python -m pip install matplotlib==3.8.4 #バージョン指定

環境設定の書き出し

python -m pip freeze > requirements.txt

読み込み

python -m pip install -r requirements.txt

venv

特定のディレクトリの中にライブラリ等の仮想環境設定が格納される。例えば仮想環境を適用したいプロジェクト直下の.venvディレクトリにそれを作成する。

仮想環境の構築

cd project
python -m venv .venv

仮想環境のアクティベート/ディアクティベート

$ source .venv/bin/activate
(.venv) $ deactivate

あとはpipで環境構築

pyenv

pyenv->venv->pipにより仮想環境を構築する

詳細はこちら
https://github.com/pyenv/pyenv

pyenvのインストール

curl https://pyenv.run | bash

~/.pyenvにpyenvが格納される。

~/.bashrc等に以下を記入

~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

Pythonのインストール

様々なバージョンPythonのソースコードをコンパイルして実行するのであらかじめコンパイルに必要なライブラリをダウンロードことが重要である。

詳細はこちら
https://github.com/pyenv/pyenv/wiki

# CentOS Stream 9の場合
dnf install gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
# Ubuntu 22.04の場合
sudo apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

インストール可能なバージョンリストを表示

pyenv install --list

インストール

pyenv install 3.12.6

バージョンを切り替える

$ pyenv versions
-> * systems
->  3.12.6
$ pyenv global 3.12.6
$ pyenv -V #バージョン確認

anyenv

anyenv->pyenv->venv->pipにより仮想環境を構築

install方法

https://github.com/anyenv/anyenv
Manual git checkoutの指示に従う

git clone https://github.com/anyenv/anyenv ~/.anyenv

~/.bashrc等に以下を記入

~/.bashrc
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"

ターミナルを再起動後以下が必要になる場合がある

anyenv install --init

Pythonのインストール

anyenv install pyenv

~/.anyenv/envs/pyenvpyenvが格納される

環境変数
$HOME/.anyenv/envs/pyenv/shims
$HOME/.anyenv/envs/pyenv/bin
が追加されpyenvを直接インストールした時と同じになる。
後はpyenvで行う。

asdf

asdf->venv->pipで環境構築

詳しくは
https://asdf-vm.com/
https://github.com/asdf-vm/asdf

インストール

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.1

~/.bashrcに以下を記入

~/.bashrc
source $HOME/.asdf/asdf.sh
source $HOME/.asdf/completions/asdf.bash

pythonプラグインの導入

asdf plugin list all #プラグインリストの表示
asdf plugin add python

Pythonのインストール

様々なバージョンPythonのソースコードをコンパイルして実行するのであらかじめコンパイルに必要なライブラリをダウンロードことが重要である。

詳細はこちら
https://github.com/pyenv/pyenv/wiki

# CentOS Stream 9の場合
dnf install gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
# Ubuntu 22.04の場合
sudo apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
$ asdf list all python #どのバージョンをinstallするか確認
$ asdf install python 3.12.6 #3.12.6のインストール

Pythonの実行バージョンを変更

$ asdf list python #インストールしたpythonのバージョンを見る
$ asdf global python 3.12.6 #全体を3.12.6にする
$ asdf global python system #戻す
$ asdf local python 3.12.6 #カレントディレクトリで実行した場合のpython環境をこれにする

globalの場合は~/.tool-versionsにバージョンが記載されその内容をもとに指定のバージョンが読み込まれる。
localの場合はカレントディレクトリの.tool-versionsにバージョンが記載される。そのディレクトリで実行した際にそのバージョンが指定される。

その後はvenvpipで仮想環境を構築。

Poetry

install

直接インストールの場合

curl -sSL https://install.python-poetry.org | python3 -

~/.local/bin/poetryが作成される。

~/.bashrcに以下を記入

~/.bashrc
export PATH=$HOME/.local/bin:$PATH

更新とbashcompletionの導入

poetry --version
poetry self update
poetry completions bash >> ~/.bash_completion

※asdfでも導入できるのでasdfを使用している人はこちらで導入したほうがよいと思われます。

uninstall

curl -sSL https://install.python-poetry.org | python3 - --uninstall

プロジェクトの作成

gitが必須

poetry new hello-project

※pyptoject.tomlのtool.poetry.authersにはgitの設定内容を使用。

すでにあるプロジェクトでの実行

cd hello-project
poetry init

※pyproject.tomlが作成されるだけ

設定

poetry config –list #設定を表示
poetry config virtualenvs.in-project true

仮想環境のライブラリをプロジェクトの.venvディレクトリに格納する。

poetryの仮想環境で実行

その都度実行

poetry add numpy
poetry add pytest --group dev #dev環境のみ
poetry run python aaa.py
poetry run python -m pip list

永久実行

poerty shell
python aaa.py

gitを入れる

git init

その後.gitignoreを作成。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?