私は後でサーブレットコンテナにデプロイされる小さなdjangoプロジェクトに取り組んでいます。しかし、Jythonの代わりにcPythonを使って作業すると、開発がはるかに高速になります。だから、私のコードがcPythonやJythonでsettiings.pyで動いているかどうかをテストしたいので、適切なdbドライバ(postgresql_psycopg2またはdoj.backends.zxjdbc.postgresql)を使用するように指示することができます。これを行う簡単な方法はありますか?コードがcPythonまたはJython上で実行されているかどうかを検出できますか?
答えて
あなたはJythonの
import platform
platform.system()
リターン "Javaの
here has some discussionを実行している場合、このことができます願っています。
異なる環境ごとに固有のsettings.pyがあります。
あなたの開発settings.pyはあなたのQA/Testまたはproduction settings.pyであってはなりません。
これは何ですか。
私たちには、インストールされているアプリやその他の変更の少ない項目が含まれている「マスター」settings.pyがあります。
私たちは、これらの環境固有の設定のそれぞれが 『マスター』の設定をインポートし、その後のようなものを上書きします
など、settings_dev_win32.py
とsettings_qa_linux2.py
と 「settings_co_linux2.py`のような名前の環境固有のファイルを持っていますDBドライバ。各設定ファイルは環境固有のものであるため、if文がなく、実行中の環境が検出されません。
Production(Apacheでは、mod_wsgiとmysqlを使用)はsettings_prod_linux2.py
ファイルを使用します。
開発(Windowsのsqliteを使用)はsettings_dev_win32.py
ファイルを使用します。 sunqiangとして
はJythonの2.5
import platform
platform.system()
作品を指摘したが、これはJythonの2.2(以前のJythonリリース)上では動作しません。また、Jython 3.xのように、オペレーティングシステム固有の詳細情報を返す方法についても議論がありました。何も決まっていないされていますが、安全に前後に互換性があるように、私が使用することをお勧めします:
import sys
sys.platform.startswith('java')
他のどこでもJythonのためのTrueとFalseを返しますどの(実際のJython 2.2歳以上ではJythonのために1を返し、 0を指定していますが、これはif文やその他のチェックでは正常に動作します)。この呼び出しは少なくとも少なくとも2.1まではJythonで動作し、近い将来に動作します。 Pythonのバージョン2.6以上で
(Jythonの2.6はまだリリースされていない注意してください)別のオプションです:
、パイソンのC実装は 'はCPython' を返しますIronPythonのための 'IronPythonの' となりますimport platform
platform.python_implementation
Jythonのために 'Jython'を返します。明らかに、これは2.6より下位互換性はありませんが、転送互換性があります。
最も明確な方法がある:
インポート・プラットフォーム
platform.python_implementation()
'CPythonの'
デフォルトでは、基礎となるインタプリタはCPythonだけで、おそらく最も効率的なものです。
- 1. コードがバックグラウンドスレッドまたはUI(Dispatcher)スレッドで実行されているかどうかを検出する
- 2. Cronジョブがステージングサーバー上で実行されているかどうかの検出
- 3. どのようにフルスクリーンアプリケーションがウィンドウで実行されているかどうかを検出できますか?
- 4. プログラムはCitrix上で実行されていることをどのように検出できますか?
- 5. php rename()が正常に実行されたかどうかをどのように検出できますか?
- 6. CPythonでジェネレータとコルーチンがどのように実装されていますか?
- 7. スクリプトが仮想マシン上で実行されているかどうかを検出する方法は?
- 8. string.findはCPythonでどのように実装されていますか?
- 9. コードがMono上で実行されているとはどうすればわかりますか?
- 10. フレーム内でjavascriptが実行されているかどうかを検出
- 11. イベントのためにJavaScriptコードが実行されていることを検出できますか?
- 12. アプリケーションサーバーでコードが実行されているかどうかを検出する最善の方法java
- 13. JythonからJythonを使用するように設定されたJavaプロジェクトを実行できません
- 14. SQLサーバーが実行されているかどうかを検出する
- 15. サイト上のコードがQRコードでアクセスしたかどうかを検出する方法はありますか?
- 16. Salesforce上でSalesまたはService Cloudを実行しているかどうかを検出
- 17. SharePointでASCX/ASPXが実行されているかどうかを検出しますか?
- 18. swfがAndroidアプリケーションのWebビューで実行されているかどうかを検出しますか?
- 19. ADBサーバーがAndroidで実行されているかどうかを検出しますか?
- 20. コードがRails 3のコンソールで実行されているかどうかを検出するにはどうすればよいですか?
- 21. 同時実行GCが.NETで実行されているかどうかを検出する方法
- 22. バックグラウンドで実行されている場合、PHP CLIスクリプトはどのように検出できますか?
- 23. ローカルホスト上で実行されているかどうかを検出する方法
- 24. MATLAB startup.mがワーカーで実行されているかどうかを検出します。
- 25. WindowsがParallels内から実行されているかどうかを検出しますか?
- 26. ローカルマシン上でNodeJSとMAMPが実行されています。出来ますか?
- 27. onclickハンドラでは、シフトが押されたかどうかをどのように検出できますか?
- 28. PyPyとCPython:大きなパフォーマンス向上が計画されていますか?
- 29. ユーザのブラウザでgzipがサポートされているかどうかはJavaScriptで検出できますか
- 30. エミュレータまたはハードウェア上でコードが実行されているかどうかを識別するユーティリティ機能はありますか?
+1:新しいPythonコーナーについて学ぶと大好きです! –