Shinjo Syntax

アイコン
🐍

pyenvを使った開発環境の構築

公開日 2025/12/18
更新日 2025/12/18

これまでPythonで開発をしていて不自由だったことがある。

プロジェクトごとにPythonのバージョンが違っているから毎回変えるのがめんどくさい。

pipライブラリのバージョンが違っていて対応できないことがある。

開発環境を複数作るときの構築がとても面倒。

Node.jsのnpmのようにプロジェクト毎にバージョンとライブラリを管理で切れたなら...。

それ、pyenvで出来ます。

環境には既にPython, pyenvが入っていること。

📄bash.sh
1# pyenvで使用するバージョンををインストール
2pyenv install 3.11.5
3
4# pyenvでインストールしたバージョンを設定
5pyenv local 3.11.5
6# 実行すると.python-version ファイルが生成される
7
8# そのバージョンで仮想環境を作成
9python -m venv .venv
10# 実行すると.venv ディレクトリが生成される
11
12# 仮想環境を有効化
13source .venv/bin/activate  # Linux/Mac
14# または .venv\Scripts\activate  # Windows
15# Windowsでこれを実行すると プロンプトの先頭に (.venv) が表示される

以下のコマンドを試してみた。

環境構築直後はpipとsetuptoolsがはいっているだけだったが、 requestsをインストールしたらちゃんと入っていることが確認できた。

ライブラリのファイルは、.venv/Include/Lib/site-pavkages下のディレクトリに格納されます。

📄bash.sh
1(.venv) PS C:\Users\develop\test_qdrant> pip list
2Package    Version
3---------- -------
4pip        23.2.1 
5setuptools 65.5.0 
6
7[notice] A new release of pip is available: 23.2.1 -> 25.3      
8[notice] To update, run: python.exe -m pip install --upgrade pip
9(.venv) PS C:\Users\develop\test_qdrant> pip install requests
10Collecting requests
11
12... 省略
13
14Using cached requests-2.32.5-py3-none-any.whl (64 kB)
15Using cached certifi-2025.11.12-py3-none-any.whl (159 kB)
16Downloading charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl (106 kB)
17   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 107.0/107.0 kB 258.0 kB/s eta 0:00:00
18Using cached idna-3.11-py3-none-any.whl (71 kB)
19Downloading urllib3-2.6.2-py3-none-any.whl (131 kB)
20   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.2/131.2 kB 89.0 kB/s eta 0:00:00
21Installing collected packages: urllib3, idna, charset_normalizer, certifi, requests
22Successfully installed certifi-2025.11.12 charset_normalizer-3.4.4 idna-3.11 requests-2.32.5 urllib3-2.6.2
23
24[notice] A new release of pip is available: 23.2.1 -> 25.3
25[notice] To update, run: python.exe -m pip install --upgrade pip
26(.venv) PS C:\Users\develop\test_qdrant> pip list
27Package            Version
28------------------ ----------
29certifi            2025.11.12
30charset-normalizer 3.4.4
31idna               3.11
32pip                23.2.1
33requests           2.32.5
34setuptools         65.5.0
35urllib3            2.6.2
36
37[notice] A new release of pip is available: 23.2.1 -> 25.3
38[notice] To update, run: python.exe -m pip install --upgrade pip
39(.venv) PS C:\Users\進丈\develop\test_qdrant>

仮想化を無効化したいときは以下のコマンドを実行。

📄bash.sh
1# 仮想環境を無効化
2deactivate

Pythonを使った開発は8年ほど個人と仕事で携わったが、 これはもっと早く知っておきたかった。

特に仕事だと、既存のPythonプログラムとバージョンやライブラリが 競合した時の対応を考えるのがとても大変だった。

近くPythonを使った開発を本格的に始めようと考えていたので、 今回の内容はとても役に立ちそう。