Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

VirtualenvでWindowsに複数のPythonバージョンを共存させる完全ガイド

この記事を読んでいる方は、おそらく以下のような状況ではないでしょうか。

  1. Windows 10以降のOSを使用している
  2. 同じPC上で複数のPythonバージョンを使い分けたい
  3. ネットで「とりあえずVirtualenvを使えばいい」と軽く言われるのにうんざりしている

TL;DR(手順の要約)

  1. コマンドプロンプトを開き、pip install virtualenv を実行する
  2. 必要なPythonバージョンをダウンロードする(PATHには追加しないこと!)。新しくインストールしたバージョンの path\to\new_python.exe(python.exeへのフルパス)を控えておく
  3. 仮想環境を作成するには、コマンドプロンプトを開いて以下を実行する
    virtualenv \path\to\env -p path\to\new_python.exe
  4. PyCharmを使用している場合は、「Project Interpreter(プロジェクトインタープリター)」と「Code compatibility inspection(コード互換性検査)」の設定を更新する
  5. パッケージのインストール手順:
    (1) 仮想環境を有効化:コマンドプロンプトを開き、path\to\env\Scripts\activate.bat を実行
    (2) 必要なパッケージをインストール
    (3) deactivate コマンドで仮想環境を無効化

詳細版の手順(必読)

はじめに

Anacondaアプリを使用している場合、GUIから操作するとこの作業がより簡単に行えるかもしれません。筆者自身は試したことがないため、そちらの道を選んだ方はぜひ結果を教えてください。

1. virtualenvをインストールする

すでに何らかの仮想環境を持っている場合やAnacondaを使用している場合は、次の手順を必ずすべての環境の外側(ベース環境)から実行してください。

2. Pythonをインストールする

Pythonは公式サイトからダウンロードできます。例えば Python 3.7.3 の場合は公式サイトの該当ページから入手しましょう。

ダウンロードすべきファイルは「Windows x86-64 executable installer」です。何らかの理由で32ビット版のWindowsを使用している場合は「Windows x86 executable installer」を選択してください。

ダウンロードが完了したら実行ファイルを開くと、インストール画面が表示されます。

  • 新しいPythonをPATHに追加してはいけません。同じPC上に複数のPythonバージョンを共存させ、各アプリケーションが必要な1つのバージョンだけを認識するようにしたいからです。
  • インストール先はデフォルトの推奨場所でも、任意の場所でも構いません。いずれの場合も、その場所は必ず控えておいてください。以降、この記事では C:\<some_path>\Python37 と表記します。
VirtualenvでWindowsに複数のPythonバージョンを共存させる完全ガイド

3. 仮想環境(virtualenv)を作成する

コマンドプロンプトを開きます。Anacondaを使用している場合は「Anaconda Prompt」を開いてください。

まず、仮想環境を作成する場所を決めます。例えば以下のようなパスです。
C:\Users\<your_username>\Anaconda3\envs\<env_name>

続いて、次のコマンドを入力します。

virtualenv C:\Users\<your_username>\Anaconda3\envs\<env_name> -p C:\<some_path>\Python37\python.exe

-p オプションで新しくインストールしたPythonのパスを指定することで、そのバージョンを基盤とした仮想環境が作成されます。

4. PyCharmのインタープリターを更新する

PyCharmを使用している場合は、新しいPythonバージョンで作業する(予定の)プロジェクトを開き、「File → Settings → Project → Project Interpreter」へ移動します。歯車アイコンをクリックし、「Add...」を選択してください。

VirtualenvでWindowsに複数のPythonバージョンを共存させる完全ガイド

すると、新しいインタープリターを定義できるウィンドウが開きます。

VirtualenvでWindowsに複数のPythonバージョンを共存させる完全ガイド

コードインスペクション(Code Inspections)機能を使用している場合は、PyCharmに対象となるPythonバージョンを明示する必要があるかもしれません。「File → Settings → Editor → Inspections → Python → Code compatibility Inspection」に移動し、上部のセレクトボックスで作業中のプロジェクトが選択されていることを確認したうえで、該当するPythonバージョンのチェックボックスにチェックを入れてください。

VirtualenvでWindowsに複数のPythonバージョンを共存させる完全ガイド
オプション一覧に自分のPythonバージョンが表示されない場合は……それ、PyCharm自体をアップデートすべきサインかもしれません。ええ、筆者もそうでした……。

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

作成直後の virtualenv には、pipsetuptools という最低限のパッケージしか含まれていません。追加でパッケージをインストールするには、以下の手順に従います。

  1. コマンドプロンプトまたはAnaconda Promptを開き、以下のコマンドで仮想環境を有効化します。
    C:\Users\<your_username>\Anaconda3\envs\<env_name>\Scripts\activate.bat
  2. 普段どおり pip を使って必要なパッケージをインストールします。
  3. 作業が終わったら deactivate コマンドで仮想環境を無効化します。

おわりに

今朝、別のPythonバージョンで新規プロジェクトを始めようとしたとき、私はこう思いました。「よし、virtualenvを使えばいいんだ」。だってインターネットが「簡単にできるよ」って言ってたんだもの。

結果的には今はきちんと動いているので、恨みっこなしです、親愛なるインターネットさん。でも真面目な話、「簡単に(just)」という言葉に見合っていたのでしょうか?コードインスペクションをまともに使いたいがためにPyCharmを再インストールするなんて作業が、「簡単に」のカテゴリーに入るとでもいうのでしょうか??

ともあれ、途中でいくつか役立つガイドに出会いましたが、どれも道のりの「ほんの一部」しかカバーしていませんでした。そこで今回は、必要な情報をすべてひとつの場所にまとめることにしたのです。

私の旅路があなたの旅の助けになりますように。ITまわりの摩擦をできるだけ減らして、快適なコーディングライフを楽しみましょう:D

VirtualenvでWindowsに複数のPythonバージョンを共存させる完全ガイド
  1. PythonでのCX_Freezeの使い方:スクリプトを実行ファイル(EXE)に変換する方法

    はじめに 何か面白いものを作りたいという欲求は人間の本能であり、完成したものは誰かに共有したくなるものです。Pythonでもその願いを叶えられます。ただし、作成したPythonスクリプトをそのまま共有するには、相手のマシンにも同じバージョンのPythonと、プログラムで使用しているすべてのモジュールがインストールされている必要があります。 そこで役立つのがCX_Freezeです。このツールを使えば、Pythonがインストールされていない環境でも動作するスタンドアロンの実行ファイル(.exe)を作成できます。 CX_Freezeのインストール まず、コマンドプロンプトで以下のコマンドを実行し、c

  2. MakeWinPEMediaを使ってWindows 10のUSBドライブに複数パーティションを作成する方法

    Windows 10では、MakeWinPEMediaを使用してUSBドライブに複数のパーティションを作成できます。Windows 10 v1703(Creators Update)以降では、USBドライブ上に複数のパーティションを作成できるようになり、FAT32とNTFSのパーティションを組み合わせた1本のUSBメモリを実現できます。さらに、ディスクの管理ツールやフリーウェアのBooticeを使って、外付けドライブに複数のパーティションを作成することも可能です。 MakeWinPEMediaでUSBに複数パーティションを作成する 複数パーティションを持つUSBドライブを扱うには、PCがWi