3

現在、私のシステムには Python 3.1.1 がインストールされており、私のサーバーには Apache 2.2 で実行されている WSGI 3.0 と同じバージョンがインストールされています。

Python 3.1 を使い続けたいのですが、Django、Pylons、MySQLdb など、多くのライブラリ/フレームワークがまだサポートしていないことがわかりました。

また、友人のサーバーにあるアカウントを確認したところ、Python 2.3.4 が実行されていました...

CMS に拡張できる一種のブログ/フォーラム タイプのアプリケーションを作成し、最終的には関連するデスクトップ アプリケーションを長期的なペット プロジェクトとして作成したいと考えています。

最高のセキュリティと将来のデスクトップ アプリケーションとの最高の一貫性を実現するために、可能な限り最新バージョンの Python を使用したいと考えています。同時に、良好なレベルの移植性を維持し、使用するフレームワークとライブラリのほとんどをサポートします。

でもどれを選べばいいのか迷ってしまいます。2.4 が最大の移植性を備えているように見えますが、それは古いものであり、2.4 以降の多くの機能をコンパイルせずに使用したり、面倒なコードで書き直したりする必要はありません。それを補償します。2.6の方が良いでしょうが、多くのライブラリがまだそれに移植されているようです.3.1は、言語から多くの面倒な作業を排除するため、最適です.

強調したいことの 1 つは、古いバージョンの Python を選択した場合に何が失われるかを知っておくと便利だということです。たとえば、友人のサーバーの古い Python 2.3.4 アカウントでアプリケーションを実行する必要がある場合、新しいバージョンに存在するライブラリ/機能のうち、どのライブラリ/機能が欠けているのでしょうか? Python 2.6 または 3.1 を使用していればよかったと思うような問題に遭遇する可能性はありますか? __future__これらの機能のうち、インポートを介して利用できるのはどれですか?

では、どの方向に進むのが最善でしょうか?2.6 を使用して問題に対処する必要がありますか? 共有ホスティング環境に配布する可能性を最大限に高めるには、2.4 を使用する必要がありますか? それとも、MySQLdb のようなライブラリが追いつくまで、3.1 に飛び込んで、わずかに不自由なアプリケーションを使用する必要がありますか?

4

4 に答える 4

4

今のところ、Python 3 は本番環境に広くデプロイされていません。Python を何に使用するかによって異なります。1 回限りのスクリプトの場合は、いずれにしても問題ありません。アイデアがサード パーティのモジュールや C モジュールを使用したり、簡単に展開したりする場合は、2.4 以降のバージョンのいずれかで解決します。多くのプロジェクトは 2.3 との互換性を維持しようと努力していますが、言語の変更はわずかであるため、2.4 から 2.6 を使用しても問題はありません。可能であれば、Python 3 に最も近い 2.6 を使用してください。いくつかの機能がバックポートされているためです。

Python 3 の問題は Catch 22 です。

  • 開発者が幅広い使用を待っているため、ほとんどの有用なサードパーティ モジュールはまだ 3 に移植されていません。
  • 依存しているモジュールがまだ移行されていないため、人々は移行できず、賢者を低く抑えています。

2.4 から 2.6 のいずれを使用しても問題はないはずです。3 を与えてください。

Python 2.6 を使用する

于 2010-02-23T22:44:32.397 に答える
2

よくわからない場合は、Python 2.5 から始めてください。

Google App Engine (Django ベース) をご覧ください。Python 2.5 を使用しており、無料です。ただし、scipy (たとえば) や "C" を含むライブラリを呼び出すことはできません。

Python2.5 を使用すると、最大限の移植性が得られます。さらに、業界では python3k は実際には使用されていません。

于 2010-02-23T22:24:20.003 に答える
1

「2.6の方が良いでしょうが、多くのライブラリがまだそれに移植されているようです」

何?必要なライブラリのうち、「まだ移植中」のライブラリはどれですか?

「3.1 がベストでしょう」「しかし、多くのライブラリ/フレームワークがサポートしていないことがわかりました」

正しい。あなたは質問でそれを2回述べました。それはとても明白です。

「2.6 を使用して、問題に対処する必要があります」

何の問題?特に気になる点はありますか?

それは本当に、本当にうまくいくようです。あなたの具体的な懸念は何ですか?

于 2010-02-23T22:21:34.940 に答える
0

イントラネット Web アプリの場合、python 2.5 をインストールする必要がありました (wiki、バグ トラッカー、および httpd WSGI 互換性の組み合わせのため)。カスタム Web アプリについては、python 3.2 で標準化しました。したがって、両方を同時にインストールしました。私は 3.2 用に作成し、必要に応じて特定のライブラリを仕様に合わせます。ただし、変更したくない大きなパッケージは、独自の 2.5 を使用します。現時点では、3.2 とサードパーティのパッケージ間の互換性は依然として問題であり、適切な Python レシピの欠如も同様です。

要約すると、 2 つのバージョンをインストールします。

于 2011-07-13T23:15:39.350 に答える