4

私の現在のセットアップは、Windows 上の Python 2.5/Django 1.1.1 です。一部のプロジェクトで Django 1.2 の使用を開始したいのですが、すべてのプロジェクトで使用できるわけではありません。これは、私がvirtualenvを持っているようなものです。ただし、遭遇したことのない問題に遭遇しており、Google で検索するのは困難です。Django 1.2 を virtualenv にインストールしても効果はありません。次に、環境をアクティブにして実行する場合

  • パイソン
  • ジャンゴをインポート
  • django.バージョン

「1.1.1 Final」と出ます。Django は私の環境の site-packages ディレクトリにインストールされており、ルートの init ファイルは 1.2 であることを示しています。しかし、 --no-site-packages フラグを使用して環境を作成しても、環境は 1.1.1 に戻ります。私は何を台無しにしていますか?

4

2 に答える 2

9

bitbucketで報告したバグに基づくと、PYTHONPATH環境変数を使用して、Django1.1.1を含むいくつかのパッケージを含むディレクトリを指しているようです。設計上、virtualenvがアクティブ化されている場合でも、PYTHONPATHは常にsys.pathの最初に来ます(PYTHONPATHは直接かつ即時の制御下にあり、人々はローカルオーバーライドに使用するため)。

この場合、このvirtualenvがアクティブ化されたときにそのPYTHONPATHが必要ない場合は、自分でそれを処理する必要があります。おそらく、virtualenvのactivate.batを呼び出し、PYTHONPATHを変更するカスタムバッチファイルを作成することによって。

于 2010-06-03T02:44:24.883 に答える
2

これらの問題を診断するために使用できるいくつかのツール:

django がどこから来ているかを確認するには、 を印刷しますdjango.__file__。ファイルシステム上のdjangoの場所を示すファイルが表示されます。

Python がパッケージを検索するすべての場所を表示するには、 を印刷しますsys.path。ディレクトリのリストです。

インポートが行われているのを確認するには、python as を起動しpython -vます。パッケージがインポートされている場所に関する多くのデバッグ情報が表示されます。

于 2010-06-02T20:04:32.763 に答える