3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

venv仮想環境作成時にpip/setuptoolsを最新にする方法

Last updated at Posted at 2024-08-09

コマンドの概要

Python環境では、pipを使ってモジュール・ライブラリーをインストールすることができるが、そのままpipを実行するとシステム全体に反映されてしまう。そのため、プロジェクト毎や用途毎に独立した環境を用意し、必要なPythonライブラリをそれぞれで管理するためのvenv仮想環境を作成する機能が、Python 3.3から導入された。削除したい時も、仮想環境のフォルダを丸ごと削除するだけで良いので管理が楽である。

単にvenv仮想環境を作成する。
python3 -m venv [newenvname]

しかし、Python3.9からは、--upgrade-depsというオプションが追加されており、このオプションをつけて仮想環境を作成すると、pip/setuptoolsが最新化された状態で仮想環境が作成される。

venv仮想環境作成時にpip/setuptoolsを最新化する
python3 -m venv --upgrade-deps [newenvname]

参考docs
https://docs.python.org/ja/3.9/library/venv.html

単にvenv仮想環境を作成した場合

仮想環境を作成してもグローバル環境のpip/setuptoolsと同じバージョンのものが導入されており、最新のpipではないという警告が表示される。setuptoolsも当然最新のものではない。

グローバル環境のパッケージ・バージョン
syasuda@MacBook ~ % python3 -m pip list
Package    Version
---------- -------
altgraph   0.17.2
future     0.18.2
macholib   1.15.2
pip        21.2.4
setuptools 58.0.4
six        1.15.0
wheel      0.37.0
WARNING: You are using pip version 21.2.4; however, version 24.2 is available.
You should consider upgrading via the '/Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip' command.
仮想環境の構築(--upgrade-depsオプションなし)
syasuda@MacBook ~ % python3 -m venv testenv1

syasuda@MacBook ~ % source testenv1/bin/activate
(testenv1) syasuda@MacBook-Pro ~ % pip list
Package    Version
---------- -------
pip        21.2.4
setuptools 58.0.4
WARNING: You are using pip version 21.2.4; however, version 24.2 is available.
You should consider upgrading via the '/Users/syasuda/testenv1/bin/python3 -m pip install --upgrade pip' command.

(testenv1) syasuda@MacBook ~ % deactivate

--upgrade-deps オプションを付けて、venv仮想環境を作成した場合

バージョンが3.9以上であることを確認。
syasuda@MacBook ~ % python3 -V
Python 3.9.6
仮想環境の構築(--upgrade-depsオプションあり)
syasuda@MacBook ~ % python3 -m venv --upgrade-deps testenv2
Requirement already satisfied: pip in ./testenv2/lib/python3.9/site-packages (21.2.4)
Collecting pip
  Using cached pip-24.2-py3-none-any.whl (1.8 MB)
Requirement already satisfied: setuptools in ./testenv2/lib/python3.9/site-packages (58.0.4)
Collecting setuptools
  Using cached setuptools-72.1.0-py3-none-any.whl (2.3 MB)
Installing collected packages: setuptools, pip
  Attempting uninstall: setuptools
    Found existing installation: setuptools 58.0.4
    Uninstalling setuptools-58.0.4:
      Successfully uninstalled setuptools-58.0.4
  Attempting uninstall: pip
    Found existing installation: pip 21.2.4
    Uninstalling pip-21.2.4:
      Successfully uninstalled pip-21.2.4
Successfully installed pip-24.2 setuptools-72.1.0

syasuda@MacBook ~ % source testenv2/bin/activate
(testenv2) syasuda@MacBook-Pro ~ % pip list
Package    Version
---------- -------
pip        24.2
setuptools 72.1.0

(testenv2) syasuda@MacBook ~ % deactivate
3
2
2

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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?