1

私はプログラミングにかなり慣れていないので、webapp 開発に使用するすべてのアプリケーションを開く単純な python スクリプトをセットアップすることにしました。私が使用しているコードは(GAE用)です:

google_appengine = r'C:\Applications\google_app_engine\launcher\GoogleAppEngineLauncher.exe'
subprocess.Popen(google_appengine)

これは、開いている他のプログラムでは正常に機能しますが、この方法で開いた後、App Engine 内でアプリケーションを実行できません。App Engine ログ ファイルに次のエラーが表示されます。

Exception in thread Thread-2:
Traceback (most recent call last):
File "threading.pyc", line 486, in __bootstrap_inner
File "launcher\taskthread.pyc", line 65, in run
File "subprocess.pyc", line 587, in __init__
File "subprocess.pyc", line 700, in _get_handles
File "subprocess.pyc", line 745, in _make_inheritable
WindowsError: [Error 6] The handle is invalid

それが subprocess.Popen() の仕組みだと思いますが、代替手段を見つけることができませんでした。それが違いを生む場合、私はWindows 7を実行しています。ご覧いただきありがとうございます。

4

1 に答える 1

0

ローカルのdev_appserverを管理する場合、これは間違ったアプローチです。

これを行う最良の方法は、sdkリポジトリ(https://code.google.com/p/googleappengine/)をドライブに直接複製してから、そのパスを環境のPYTHONPATH変数に追加することです。

これが私が作成したスクリプトテンプレートへのリンクであり、dev_appserverプロセスの起動と強制終了を管理するためによく使用されます:https ://gist.github.com/4514647

私はWindowsでのPython環境の管理にあまり詳しくないので、高レベルでメモを取り、そのプラットフォームの特定の実装を調査する必要があります。

于 2013-01-14T02:28:14.127 に答える