2012年11月1日木曜日

Pythonの開発の為にvirtualenvを入れてみる

pythonの開発環境として2.7と3.2を混在させたいのでvirtualenvを入れようと思ったけどロクに設定をしていない事に気づいた。やっぱりこういうのは色々面倒なのでメモを残しておくことにする。

とりあえず使用環境にはActivePythonではなくpython.orgから落としたWindows版の物をそれぞれ展開して配置しただけ。パスも通していないのでまだpythonは実行出来ません。

まずvirtualenvを入れるにはpipなるものがあると便利らしい。パッケージ管理のプログラムみたいね。で、pythonの設定も出来てないのにどうやってやるんだヨ!って話でまずはeasy_installなるものを入れる事にする。もう既によく分からなくなってきたゾ

 http://pypi.python.org/pypi/setuptools

ここから手持ちマシンは64bit環境(Windows8 Pro)なのでez_setup.pyを落としてきてpythonの実行ファイルと同じパスにコピーする。うちの場合は「C:\app\Python27」「C:\app\Python32」って感じに入れてあるので前者のパスにコピーですな。で下記のコマンドを実行。

PS C:\app\Python27>python ez_setup.py


これで勝手に「C:\app\Python27\Scripts」配下にeasy_installが入りましたぜ旦那。物を確認したらシステムの環境変数のpathに前者のパスを追加してPowerShellを開きなおす事でeasy_installが実行出来る状態に。

さぁ、次はpip入れちゃおうか。

PS C:\Users\Ore> easy_install pip

これだけ。とりあえずこれで前準備は完了ですな。次は本命のvirtualenvを入れてみましょう。

PS C:\Users\Suguru> pip install virtualenv

とりあえずこれでokみたいヨ!早速仮想環境を作ってプログラムを書くぜって事で作業フォルダに移動して

PS G:\develop\projects> virtualenv testapp

これで作業フォルダが完成。その中のScriptsフォルダに移動してactivateすれば仮想環境に!って事で

PS G:\develop\projects> cd testapp\Scripts
PS G:\develop\projects\testapp\Scripts> activate

・・・セキュリティの問題で実行出来ませんダトッ。PowerShell初心者なので初めて知った事実。(ちなみに普通のDOS窓ではこれでイケタ)

まぁ、折角だからPowerShellからもいけるようにトライしてみるゼィ。とりあえず現在の設定の確認。

PS G:\develop\projects\testapp\Scripts> Get-ExecutionPolicy
Restricted

これは全面禁止状態の模様。じゃー全部許可したれって事で

PS G:\develop\projects\testapp\Scripts> Set-ExecutionPolicy Unrestricted

とやったら 

Set-ExecutionPolicy : レジストリ キー 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' へのアクセスが拒否されました。

ギャース。ダメじゃん。こりゃ管理権限で実行しないとダメだね・・・。で結局管理権限でPowerShellを実行してみたらいけました。が・・・なんか釈然としない物を感じますな、この方法は。せめてsudoみたいな感じで一時的に管理者権限でスクリプト実行出来るとかの方がマトモなんじゃ・・・。

なにはともあれこれで実行出来ましたよっと。

PS G:\develop\projects\testapp\Scripts> activate
(testapp) PS G:\develop\projects\testapp\Scripts>