\r\n\r\n
経験豊富なPython開発者であれ、これから始める人であれ、仮想環境のセットアップ方法を学ぶことは、Pythonプロジェクトに欠かせません。Pythonの仮想環境について知っておくべきことを一緒に考えましょう。
Pythonプログラミングが役に立たない理由を必ずお読みください。また、Python初心者の方は、Pythonの基本的な10の例をチェックしてみてください。
仮想環境は、プロジェクトごとに異なるバージョンのPythonを実行する方法です。仮想マシンの仕組みと同様に、Pythonの仮想環境では、複数のバージョンのPythonを、それぞれ特定のモジュールと依存関係でインストールすることができます。これらはすべて互いに独立しているので、あるプロジェクトでインストールしたモジュールは、他のプロジェクトではアクセスできません。
これは大変な努力のように思えるかもしれませんが、それだけの価値があります。例えば、普段はPython 2.7.xで作業しているが、3.xを試してみたいとします。レガシーなプロジェクトにPython 2.4.xはいかがでしょうか?そう、簡単なんです。これらのプロジェクトのどれもが、互いに、あるいはオペレーティングシステムで使用されているPythonのバージョンと干渉することはありません。
Macをお使いの場合は、すでにPythonがインストールされていますが、Windowsをお使いの場合は、Pythonをダウンロードし、インストールする必要があります。
Pythonのバージョン2.7.9以降に付属しているPython用パッケージマネージャであるpipをインストールする必要があります。これらの手順はすべてコマンドラインから行いますので、WindowsのコマンドラインガイドやLinuxのコマンドラインクイックガイドをお読みいただく必要があるかもしれません。
仮想環境を利用するためには、次の2つのパッケージが必要です。新しいターミナルを開いて、virtualenvパッケージをインストールしてください。
pip install virtualenvこのパッケージの仮想環境を単体で使用・管理することも十分可能です。この方法は、VirtualVwRapperを使用する方がはるかに簡単なので、ここでは説明しません。これは、仮想環境の作成と管理をより簡単にするために書かれたパッケージです。pipを使用してインストールする場合。
pip install virtualenvwrapperWindowsの場合、若干異なるパッケージのインストールが必要です。
pip install virtualenvwrapper-winvirtualenvwrapperのインストールを試みる前に、virtualenvがインストールされていることを確認してください。
次にWrapperを設定します.
export WORKON_HOME=~/Envssource /usr/local/bin/virtualenvwrapper.shこのラッパーはすべての環境を同じ場所に保存します(ファイルシステムに散らばるのではなく、仮想環境はラッパーを使用せずにできます)。
これで仮想環境の準備は完了です。ここでは、新しい環境を作成する方法を説明します。
mkvirtualenv muoこれで、~/Envs フォルダに muo というフォルダと環境が作成されます。
このコマンドでいくつでも環境を作ることができ、workonコマンドで簡単に変更することができます。
workon muoこれで、プロジェクト名がコマンドラインの
インストールしたパッケージは、この環境でのみ動作します。
その環境での作業が不要になった場合、deactivateコマンドを使用します。
deactivateworkonコマンドは、現在のプロジェクトを非アクティブにしてから、新しいプロジェクトをアクティブにするので、最初に非アクティブにする必要がないことに注意してください。
仮想環境のリストアップが容易にできる。
lsvirtualenvバージョン管理をしている場合(本当はそうすべきですが)、必ず自分の環境を除外してください。(ヒント: Gitを使用している場合は、gitinoreコマンドを使用します)。
環境が不要になった場合は、以下の方法で削除することができます。
rmvirtualenv muo現在、この環境で作業していない場合は、エラーが発生しますので、ご確認ください。
最後に、特定のバージョンのPythonで環境を設定するのは簡単です。
virtualenv -p /usr/bin/python2.7 muo27ファイルパス(/usr/bin/python2.7)がPythonのバージョンを指していることを確認してください(どのバージョンでもかまいません)。このプロジェクトをmuo27と呼んでいるのは、Python 2.7環境であることを示す27というサフィックスを使っていることに注意してください。
このほかにも、環境づくりにはさまざまなオプションがあります。no site packagesオプションは、(オペレーティング・システムによって)すでにグローバルにインストールされているパッケージをインストールしません。お客様の環境では、これらにアクセスすることはできません。これにより、不要なパッケージで埋め尽くされることなく、プロジェクトをコンパクトにまとめることができます。
プロジェクトに必要な依存関係の一覧は、"freeze "コマンドで作成することができます。
pip freeze > dependencies.txtこれにより、すべての必要なモジュールの依存関係と呼ばれる .txt ファイルが作成されます。これによって、あなたや他の開発者が後日プロジェクトを再開することが容易になります。この中から必要なモジュールをインストールする方法を説明します。
pip install -r dependencies.txtPythonの仮想環境の使い方がわかったので、取り組むプロジェクトの数は無限大ですGoogleワークシートの読み方、書き方を覚えて、新しい仕事環境を作ってみませんか?
Python Virtual Environmentを使用していて、お気に入りの機能は何ですか?
写真提供: Sergey Nivens and Helen Dream via Shutterstock.com