2013年1月5日土曜日

今さらながらvirtualenv Windows8編

久々にWindows環境を整備することになり、手元にはWindos8マシンが用意できた。

すっかりvirtualenvを使わないと気持ち悪い体質になってしまったので、Windowsでのセットアップ手順や注意事項をメモしておく。

前提
  • どうやらコマンドプロンプトはもう時代遅れっぽいのでPowerShellにする。
  • C:\Python27\Lib\site-packagesにはvirtualenv.pyしかインストールしない!
    • setuptoolsとかpipはvirtualenv環境にのみ存在する状態にしておけば、環境切り替え忘れてpip install djangoとかしてもエラーになるだけなので環境が汚れない。
  • パッケージ管理はpipを使う。
    • virtualenv環境のパッケージ管理はpipに統一しておく。pip freezeでパッケージのリストを作っておけば、環境の再構築もとても簡単安全に行える。


pypiからtar.gzの最新パッケージをダウンロードして解凍する。

setup.pyでインストールする。

C:\Users\ryo\Downloads\virtualenv-1.8.4> C:\Python27\python.exe setup.py install

Note: without Setuptools installed you will have to use "python -m virtualenv ENV"
running install
running build
running build_py
creating build
creating build\lib
copying virtualenv.py -> build\lib
creating build\lib\virtualenv_support
copying virtualenv_support\__init__.py -> build\lib\virtualenv_support
copying virtualenv_support\setuptools-0.6c11-py2.7.egg -> build\lib\virtualenv_support
copying virtualenv_support\distribute-0.6.31.tar.gz -> build\lib\virtualenv_suppor
copying virtualenv_support\pip-1.2.1.tar.gz -> build\lib\virtualenv_support
running install_lib
copying build\lib\virtualenv.py -> C:\Python27\Lib\site-packages
creating C:\Python27\Lib\site-packages\virtualenv_support
copying build\lib\virtualenv_support\distribute-0.6.31.tar.gz -> C:\Python27\Lib\site-packages\virtualenv_support
copying build\lib\virtualenv_support\pip-1.2.1.tar.gz -> C:\Python27\Lib\site-packages\virtualenv_support
copying build\lib\virtualenv_support\setuptools-0.6c11-py2.7.egg -> C:\Python27\Lib\site-packages\virtualenv_support
copying build\lib\virtualenv_support\__init__.py -> C:\Python27\Lib\site-packages\virtualenv_support
byte-compiling C:\Python27\Lib\site-packages\virtualenv.py to virtualenv.pyc
byte-compiling C:\Python27\Lib\site-packages\virtualenv_support\__init__.py to __init__.pyc
running install_egg_info
Writing C:\Python27\Lib\site-packages\virtualenv-1.8.4-py2.7.egg-info

これでインストールは完了。簡単。 環境の作り方
C:\Users\ryo> python -m virtualenv --distribute venv
New python executable in venv\Scripts\python.exe
Installing distribute.............................................................................................................................................................................................................................done.
Installing pip..................done.
venv\Scripts\activte.ps1をpowershell上で実行するとプロンプトに環境名が表示される。これで準備完了。
C:\Users\ryo> .\venv\Scripts\activate.ps1
(venv) C:\Users\ryo>
これでC:\Python27\Libを見ずにvenv\Libを見るようになったのでパッケージインストールする。
(venv) C:\Users\ryo> pip install unittest2
(venv) C:\Users\ryo> pip freeze
distribute==0.6.31
unittest2==0.5.1

以上。