スクリプト
web2pyで新しいプロジェクトを作成したら、メインのアプリフォルダーにいくつかのスクリプトを追加します。
web2py \ Applications \ myapp \ DebugWinpdb.bat:
C:\Python25\Scripts\winpdb.bat ..\..\web2py.py -i 127.0.0.1 -p8000 -mypassword
web2py \ Applications \ myapp \ DebugShell.bat:
C:\Python25\Scripts\winpdb.bat ..\..\web2py.py -S myapp -M
web2py \ Applications \ myapp \ Shell.bat:
python ..\..\web2py.py -S myapp -M
IDE
他の人が述べているように、使用するIDEに関係なく、web2pyのオートコンプリート/インテリセンスを取得するには追加の作業を行う必要があります。
私にとって、NetBeansは、does-everything-if-only-you-can-figure-out-how(Eclipse / PyDev)とdoes-the-basics-but-few-extras(PyScripter)の間の適切な妥協点でした。
NetBeansセットアップ(プロジェクトプロパティ):
- Pythonカテゴリ
- Pythonプラットフォーム:Python 2.x(デフォルトはJython)
- カテゴリを実行
- メインモジュール:
web2py.py
- アプリケーションの引数:
-i 127.0.0.1 -p 8000 -a mypassword
NetBeansの長所:
- 緊密な水銀統合
- 編集時にソースファイルで追加、変更、または削除された行を強調表示します
- 前回のコミット以降に行った個々の変更の選択的なロールバック
- 私が使用した中で最も優れたビジュアル差分ビューアの1つ
- Python PEP8スタイルのヒント(完全にカスタマイズ可能)
- 名前「foo」は、コードスタイル(CapitalizedWords)によると有効なクラス名ではありません
- 名前「Bar」は、コードスタイルに応じた有効な関数名ではありません(lowercase_with_underscores)
- ホットキーの自動フォーマット(演算子などの間隔を修正)
- ソースファイル内のナビゲーション
- 現在のソースファイルに意味的にインデックスを付ける
- タイプ(クラス、メソッド、属性など)ごとにアルファベット順に整理します
- 巨大なスタイルシートでも管理しやすくなります
NetBeansの短所:
- 統合デバッガーはweb2pyでは機能しません(本当に痛いです)
- 起動時間が長い(ただし、一度起動して実行すると、許容範囲内でスッキリします)
バージョン管理
ソース管理にはMercurialを使用し、強くお勧めします。前述のように、NetBeansはMercurialを強力にサポートしていますが、TortoiseHgでやりたいことがいくつかあります。
TortoiseHgの長所:
- シェルオーバーレイアイコン
- リポジトリエクスプローラー
- 分岐/マージのグラフィック表示でリポジトリ履歴を表示
- コミットツールのボタンを使用して、着信、発信、プッシュ、プル、更新などのワンストップショップ
- コミットツール
- ハンクの選択:ファイル内からのチェリーピックの変更により、より焦点を絞ったコミットが可能になります
- 追加、削除、差分、元に戻す、移動、削除、忘れる
TortoiseHg短所:
- コマンドラインに直接ドロップする簡単な方法はありません
- コミット中にファイルが削除されないようにするバグ(ロックが解放されるまでindefを待機します。
hg addremove
コマンドラインから実行することは信頼できる回避策です)
出版
WinSCP(ブラウジング用)、PuTTY(ターミナルコマンド用)、TortoiseHg(リポジトリのプッシュ/プル用)の組み合わせを使用して、Webfactionの共有ホスティングアカウントを操作します。
私が最初に行うことは、公開鍵/秘密鍵の暗号化を設定することです。WindowsとLinuxの間でこの設定を行うのに問題がある場合は、AndreMolnarの次の手順を試してください。簡単に言うと、Linuxでssh-keygenを使用して秘密鍵を生成し、WinSCPを使用してWindowsマシンにコピーしてから、WinSCPおよびPuTTYで使用できるように変換する必要があります。
次に、グローバルなmercurial.iniファイルに次の行を追加します。
[ui]
ssh = "C:\Program Files\TortoiseHg\TortoisePlink.exe" -ssh -2 -i "c:\path\to\your\privatekey.ppk"
複数のサーバーに接続する必要がある場合でも、公開鍵をそれぞれの異なるサーバーにコピーするだけで済みます。また、WinSCPとPuTTYに秘密鍵の場所を知らせたいと思うでしょうが、それらはかなり簡単に理解できます。