27

Web2Pyを数日間試していて、私はそれをキーパーにすることにしました。しかし、私が非常に懸念していることが1つあり、それは最終的には目を見張るものになる可能性があります。信頼でき、生産性の高い、優れた開発環境とセットアップが必要です。MS Visual Studioの世界から来て、バージョン管理と展開のための優れたオートコンプリート/インテリセンス+機能を備えたものを探しています。

Eclipseでコードを編集しようとしましたが、オートコンプリートで実行するには追加のセットアップが必要であり、デバッグのためにそれが可能かどうかわかりません。(EclipseにDjangoプロジェクトテンプレートがあったことに気づきました。これは私が言わなければならない少し魅力的です。)

Wing Ideには、web2pyを起動して実行する方法についての説明があり、私はそれをテストするところです。無料ではありませんが、Windowsの世界の多くに比べて非常に安価です。

また、適切なバージョン管理(hg)のセットアップ、できれば半自動のFTP展開方法も必要です。

Web2Py開発者はどのIDEを使用し、セットアップはどのようになりますか?

優れたIDEでのプロジェクトの完全なセットアップスクリプトは素晴らしいでしょう!(インストールと同じように、ワンクリックで100%実行できます)。

Pycharmは良さそうです、おそらくweb2pyサポートを追加できます http://youtrack.jetbrains.net/issue/PY-1648

どうもありがとう!

4

7 に答える 7

16

スクリプト

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に秘密鍵の場所を知らせたいと思うでしょうが、それらはかなり簡単に理解できます。

于 2010-11-02T15:48:24.277 に答える
12

トランクで新しいweb2py管理インターフェースを試してください。それはウェブベースの水銀インターフェースとグーグル展開インターフェースを持っています。

web2pyでは、applications / admin / models/0.pyを編集して設定できます

TEXT_EDITOR = 'amy'

そして、オートコンプリート機能を備えたWebベースのAmyエディターを入手できます。一部のブラウザでは機能せず、オートコンプリートはEclipseほど良くないため、デフォルトではありません。それはあなたのために働くかもしれません。

Eclipseでweb2pyを使用できますが、Eclipseにweb2py環境について知らせるためのマイナーな回避策が必要です。ここで説明します

他のユーザーがweb2pyで他のIDE、たとえばWinIDEやpyCharmを使用したことは知っています。人々が非常に役立つweb2pyメーリングリストで質問することをお勧めします。

于 2010-11-02T13:26:59.113 に答える
8

あなたが探していることをすべて行うための「ワンクリックセットアップスクリプト」は(現時点では)存在しないと確信しています。しかし、延期しないでください。ニーズに合わせて優れた開発環境を実現でき、選択肢はたくさんあります。

私はWindowsで開発していますが、それぞれが特定のタスクを実行する多数のツールを備えた「統一された」考え方であるため、私が持っているセットアップが気に入っています。ワークフローのセットアップを取得すると、非常に生産的になる可能性があります。ただし、最初はVisual Studioの世界から来ると、少し混乱するように見えるかもしれません。

以下に、私が決めたものの概要を示します。他の人が独自の推奨事項を持っていると確信しています。あなたが一番好きなオプションを選んでください。

(以下に有用なソフトウェアへのハイパーリンクがあるはずですが、複数のリンクを含めるのに十分な評判がありません...)

Windowsでの開発では、Pyscripterの使用を楽しんでいます。これは無料で高速であり(Aptana / Eclipse / Netbeansなどと比較して)、いくつかの優れた機能(ダークテーマ、統合されたPythonコンソール、コードエクスプローラーなど)があります。

コード補完/インテリセンスをweb2pyで機能させるには、web2pyの動作方法のために、モデル/コントローラーファイルにコードを追加する必要があります。web2pyグループのこのディスカッショントピックにはいくつかの指示があります。

web2pyには、優れたエラーチケットシステムが組み込まれています(web2pyブックの第3章を参照)。より包括的なデバッグについては、pydbが最適な方法のようです。以下のコードをブレークポイントとして配置するだけです。

import pydb 
pydb.debugger()

デバッガーに移動します。

私はMercurial統合にTortoiseHgを使用していますが、それは素晴らしい働きをします。これをwinscpと組み合わせると、簡単にデプロイできます。

于 2010-11-02T12:36:22.947 に答える
5

警告:私はOS Xで作業しており、コーディングのほとんどはBBEditで行っています。

そうは言っても、私はweb2pyのデバッグにWingとKomodo IDEの両方を使用しましたが、どちらも非常にうまく機能しました。私はしばらくの間NetBeansを試していません。私が行ったとき、Pythonのサポートは端が少し荒いようでした。そして、私はEclipseに慣れるまでの時間や忍耐力がありませんでした。それは私のメンタルファイルキャビネットにEmacsで提出されており、間違いなくEclipseやEmacsに不当に提出されています。

(そして、web2pyメーリングリストを試すというmdipierroの推奨をエコーし​​ます。これは本当に不可欠です-web2pyの最大の強みの1つです。)

于 2010-11-02T18:17:25.167 に答える
5

より少ないツールの使用を検討しましたか?Pythonとweb2pyはどちらも、多くのことを成し遂げるために多くのコードを必要としません。web2pyは、(HTMLヘルパーとバリデーターを除いて)10個または15個の新しい関数呼び出しのみを追加します。Eclipseや他のIDEが実際に邪魔になることに気付くかもしれません。web2pyでの新しいアプリのセットアップは、管理システムを介して簡単です。新しいアプリのスキャフォールディングはウェルカムアプリをコピーするため、ウェルカムアプリを編集して新しいアプリの設定をカスタマイズできます。Mercurial(またはGit、Subversion、Bazaar)を使用すると、マシン上またはパブリックサイトのいずれかでサーバーをセットアップし、本番サーバーに更新をプッシュまたはプルできます。シンプルにしてください、と私は言います。

于 2010-11-29T23:41:03.627 に答える
1

すべてのWebアプリケーションのニーズにweb2pyフレームワークを使用しており、これがセットアップです。

OS-Ubuntuの最新
IDE-pyDev
バージョン管理を備えたAptanaStudio3.0-git
Python 2.7開発フェーズ用ブラウザー:Chrome

于 2012-04-02T11:14:43.053 に答える
0

WingIDEデバッガーが非常に便利であることがわかりました。これは全面的に強力なデバッガーであり、リモートデバッグを実行するように構成することもできます。これは、GUIを使用しないリモートマシン(Amazon Web Servicesなど)でweb2pyを実行している場合に非常に重要です。

于 2012-11-24T10:57:24.900 に答える