茨の道も一歩から

インフラ構築からプログラミング(Python・JavaScript)までITに関するブログです。

Python入門:Pythonの仮想環境とパッケージ on Windows

はじめに

venvで仮想環境の構築

仮想環境の構築

C:\pystudy>python -m venv myenv

有効化

C:\pystudy>myenv\Scripts\activate.bat

pipのバージョンが古いと怒られる

(myenv) C:\pystudy>pip list
pip (7.1.2)
setuptools (18.2)
You are using pip version 7.1.2, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

pipをアップグレードする

(myenv) C:\pystudy>python -m pip install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/5f/25/2dda...940/pip-18.0-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 7.1.2
    Uninstalling pip-7.1.2:
      Successfully uninstalled pip-7.1.2
Successfully installed pip-18.0

インストールされているパッケージを表示する

(myenv) C:\pystudy>pip list
Package    Version
---------- -------
pip        18.0
setuptools 18.2

パッケージを探す

(myenv) C:\pystudy>pip search numpy
numpy (1.15.1)                        - NumPy: array processing for numbers, strings,
                                        records, and objects.
numpy-sugar (1.2.8)                   - Missing NumPy functionalities
numpy-turtle (0.1)                    - Turtle graphics with NumPy
msgpack-numpy (0.4.3.1)               - Numpy data serialization using msgpack
:
pyscience11 (0.5)                     - C++11 wrapper for NumPy, SciPy and Matplotlib

パッケージをインストールする

(myenv) C:\pystudy>pip install numpy
Collecting numpy
  Using cached https://files.pythonhosted.org/packages/b7/a7/b99...b47/numpy-1.15.1-cp35-none-win_amd64.whl
Installing collected packages: numpy
Successfully installed numpy-1.15.1

パッケージをアンインストールする

(myenv) C:\pystudy>pip uninstall numpy
Uninstalling numpy-1.15.1:
  Would remove:
    c:\pystudy\myenv\lib\site-packages\numpy-1.15.1.dist-info\*
    c:\pystudy\myenv\lib\site-packages\numpy\*
    c:\pystudy\myenv\scripts\f2py.py
Proceed (y/n)? y
  Successfully uninstalled numpy-1.15.1

パッケージの環境を配布する

# 仮想環境1を構築する
# 有効化する
# パッケージを色々入れて構築する
# 構築したパッケージのリストをファイルに書き出す
(myenv) C:\pystudy>pip freeze > requirements.txt
# 無効化する
:
# gitでrequirements.txtを配布する
:
# 誰かさんは仮想環境を構築する
# 有効化する
# pipをアップグレードする
# ファイルからパッケージを構築する
(yourenv) C:\your_dir>pip install -r requirements.txt

無効化

C:\pystudy>myenv\Scripts\deactivate.bat

仮想環境を初期化する

C:\pystudy>python -m venv --clear myenv

仮想環境を削除する

C:\pystudy>rmdir /s myenv
myenv、よろしいですか (Y/N)? y