pip install web2pyでインストールされたスクリプトについて
前エントリの派生.
web2pyは公式からソース持ってきても簡単なんだけど,せっかくvirtualenv入れてるしpipでやってしまおうと.
現在PyPiにあるversionは1.98.2.最新の1.99.4じゃない...
とりあえずインストール方法おさらい.
$ mkvirtualenv web2py_demo $ pip install web2py ownloading/unpacking web2py Downloading web2py-1.98.2.tar.gz (4.7Mb): 4.7Mb downloaded Running setup.py egg_info for package web2py Installing collected packages: web2py Running setup.py install for web2py changing mode of build/scripts-2.6/w2p_apps from 664 to 775 changing mode of build/scripts-2.6/w2p_run from 664 to 775 changing mode of build/scripts-2.6/w2p_clone from 664 to 775 changing mode of /home/user/.virtualenvs/web2py_demo/bin/w2p_clone to 775 changing mode of /home/user/.virtualenvs/web2py_demo/bin/w2p_apps to 775 changing mode of /home/user/.virtualenvs/web2py_demo/bin/w2p_run to 775 Successfully installed web2py Cleaning up...
スクリプト
メッセージから分かる通り,以下の三つのスクリプトがインストールされました.
- w2p_clone
- w2p_apps
- w2p_run
これを全部使うのかっていうとそうでもありません.
PyPiにあるweb2pyのスクリプトは頻繁に変更されるみたいで,以前は名前が違いました.
変更前 | 変更後(現在) |
---|---|
web2py_clone | w2p_clone |
mkweb2pyenv | w2p_apps |
runweb2py | w2p_run |
Re: pip install web2py - Christopher Steel - com.googlegroups.web2py - MarkMail
なんか名前が変わって分かりづらくなったなぁ.appsでmakeね.
w2p_clone
端的に言ってしまえばvirtualenvの環境変数下にweb2pyディレクトリをインストールする方法.
公式ではこちらが推薦されているようです.
ソースはこちら.
w2p_clone -
web2py -
Enterprise Web Framework - Google Project Hosting
ソースを見れば分かるんですが,https://code.google.com/p/web2py/からソースを引っ張ってきています.んでhg cloneと.
当たり前なんですがこちらだとcode.google.comから引っ張ってくるんで,最新版(安定板)で環境構築できます.
PyPiにおいてあるweb2pyが前のバージョンでも大丈夫ってことですね.
以下試してみた結果です.
$ w2p_clone $ python ~/.virtualenvs/web2py_demo/web2py/web2py.py --nogui --password=test web2py Web Framework Created by Massimo Di Pierro, Copyright 2007-2011 Version 1.99.4 (2011-12-31 14:37:01) stable Database drivers available: SQLite3, pymysql Starting hardcron... please visit: http://127.0.0.1:8000 use "kill -SIGTERM 2477" to shutdown the web2py server
ちゃんと1.99.4になってる!
ただコマンドが長ったらしい?
w2p_appsとw2p_run
w2p_appsは,pip install web2py時にダウンロードしたenv.tarという圧縮ファイルを指定のディレクトリ,ないしカレントディレクトリに解凍.
w2p_apps -
web2py -
Enterprise Web Framework - Google Project Hosting
w2p_runは,上記w2p_appsで作成したディレクトリを指定,そこにあるweb2pyのソースを実行するというものです.
w2p_run -
web2py -
Enterprise Web Framework - Google Project Hosting
双方共にgluonモジュールというものを使っています.web2pyのモジュールかな?
こちらだと,ローカルでインストールができる,web2pyを展開するディレクトリが指定できる上,サーバもw2p_runコマンドで起動できるのですが,推薦されていないだけあってなんかちょっと動作が不安定っぽいです.
てかw2p_runのなかで環境変数思いっきり書き換えてるのがなんかちょっと...いいんだけども,気をつけないと行けない所.
それと,大きな違いはversion.こちらはpip install web2pyの時のversion,即ちPyPiに登録されているweb2pyのversionを使うため,バージョンが古いことがままあります.
実際2012/1/3現在,1.98.2が立ち上がるので古いです.
$ w2p_apps Creating a web2py env in: /home/user/web2py_demo $ w2p_run --nogui --password=test web2py Web Framework Created by Massimo Di Pierro, Copyright 2007-2011 Version 1.98.2 (2011-08-28 09:59:26) Database drivers available: SQLite3 Starting hardcron... please visit: http://127.0.0.1:8000 use "kill -SIGTERM 2454" to shutdown the web2py server
どっちを使う?
一応公式に推薦されているのはw2p_cloneなのでこちらを使おうと思います.
ただmakeとrunが分かれている方が何かと都合がいいかもなのでw2p_apps&w2p_runのコンビで最新版ちゃんとしてくれるといいなぁ.
てか,w2p_runの引数にvirtualenvの環境変数を入れればいいのでは.
$ w2p_run ~/.virtualenvs/web2py_demo/web2py/ --nogui --password=test web2py Web Framework Created by Massimo Di Pierro, Copyright 2007-2011 Version 1.99.4 (2011-12-31 14:37:01) stable Database drivers available: SQLite3, pymysql Starting hardcron... please visit: http://127.0.0.1:8000 use "kill -SIGTERM 2500" to shutdown the web2py server
でけた.
うーむ,gluonモジュールが何か分かってないのでそこだけ怖いけどな...