21

現在、私の Mac には複数のバージョンの Python がインストールされています。付属のバージョン、python.org から最近ダウンロードしたバージョン、Zope をローカルで実行するために使用される古いバージョン、および Appengine が使用している別のバージョンです。それはちょっと混乱です。1 つのバージョンの Python を使用してすべてを支配することに関する推奨事項はありますか? 古いバージョンを削除し、すべてのアプリを 1 つのインストールにリンクするにはどうすればよいでしょうか。知っておくべき Mac 固有の落とし穴はありますか? これはばかげた考えですか?

4

4 に答える 4

20

複数のバージョンの Python を使用することは、本質的に何の問題もありません。バージョンの依存関係を持つアプリケーションを使用する場合、必要になることがあります。おそらく最大の問題は、アプリごとに異なる可能性があるサイト パッケージの依存関係を処理することです。のようなツールvirtualenvが役立ちます。してはいけないことの 1 つは、/System/Library/Frameworks にあり、/usr/bin/python からリンクされている Apple 提供の Python を削除しようとすることです。(ここで複数のバージョンに関する最近の議論に注意してください。)

于 2009-08-02T16:09:49.230 に答える
9

Ian Bicking のvirtualenvを使用すると、構築するアプリケーションごとに Python を分離することができ、分離された Python 環境にグローバル サイト パッケージを含めるかどうかを決定できます。

Zope で試したことはありませんが、次のようにすればうまくいくと思います。

  1. Zope の Python を使用して、 --no-site-packages の有無にかかわらず、新しい virtualenv を作成します
  2. Zope を virtualenv にドロップします
  3. $VENV/bin/activate で環境をアクティブ化します
  4. 必要なサイト パッケージをインストールする
  5. $VENV/bin/python で Python を使用して Zope を実行します。

これは、さまざまなバージョンの Python、Django、およびアドオンを使用して Django プロジェクトを管理するために見事に機能しています。

この記事では、Grok と Virtualenv の詳細について詳しく説明しているようですが、一般論は Zope にも当てはまります。

于 2009-08-02T18:27:39.760 に答える
2

virtualenvの+1。

異なる Python バージョンが必要ない場合でも、開発の依存関係をシステムの Python から分離しておくことをお勧めします。

使用している OS はわかりませんが、これらの手順は、OSX で実行される Python 開発環境を取得するのに非常に役立ちます。

于 2009-08-24T07:57:54.937 に答える
1

すべての UNIX ライクなオペレーティング システムで動作する、私が好むアプローチは次のとおりです。

特定の Python バージョンを必要とするアプリケーションごとに、ユーザー アカウントを作成します。各ユーザーにインストールして、対応する python バージョンをユーザー ローカル プレフィックス (~/build/python など) でカウントし、~/build/bin/ をユーザーの PATH 環境変数に追加します。Python アプリケーションを正しいユーザーにインストール/使用します。

このアプローチの利点は、個々の python インストールを完全に分離suし、適切な python 環境を (適切なユーザーに対して) 比較的便利に選択できることです。また、オペレーティングシステムは変更されません。

于 2009-08-02T17:13:27.003 に答える