4

オペレーティングシステムを再インストールしました(WindowsXPからWindows7に移動しました)。Python2.7を再インストールしました。

しかし、古い環境にはたくさんのパッケージがインストールされていました。(Django、sciPy、jinja2、matplotlib、numpy、networkx、単なるビューの名前)

古いPythonインストールがまだデータパーティション上にあるので、古いPythonライブラリフォルダーを新しいインストールにコピーして貼り付けることができるかどうか疑問に思いました。または、すべてのパッケージを再インストールする必要がありますか?

パッケージは、レジストリ、システム変数などに情報を保持していますか?

パッケージによって異なりますか?

4

2 に答える 2

2

それはあなたがあなたのプロジェクトをレイアウトすることができなければならないポイントです、それでそれのための特別なツールを持っています。

通常、Pythonパッケージは、レジストリの処理などの奇妙なことを行いません(MSIインストーラーを介してパッケージ化されている場合を除く)。問題はC拡張機能を含むパッケージから始まる可能性があるため、別のバージョンのOSまたは32ビットから64ビットアーキテクチャに移行するには、それらを再コンパイル/再構築する必要があります。したがって、以下に説明するように、すべてのパッケージを新しいシステムに再インストールすることをお勧めします。

要求はさまざまですが、環境を構築する方法を確実に選択する必要があります。多種多様なプロジェクトがなく、計画している場合は、最初のアプローチを次のように検討できます。2番目のアプローチは、異なるプロジェクトまたは同じプロジェクトの異なるバージョンの開発環境をセットアップするための可能性が高くなります。

  1. グローバル環境(インストールされたパッケージとともにシステムにPythonをインストールする)。

    ここでは、 pipの使用を検討できます。この場合、プロジェクトには、プロジェクトに必要なすべてのパッケージを含む要件ファイルを含めることができます。基本的に、要件ファイルはパッケージ名(PyPIとそのバージョン)を含むテキストファイルです。

  2. 隔離された環境。これは、特別なツールまたは特別に編成されたパスを使用して実現できます。

    ここで、pipをvirtualenvと適切に組み合わせることができます。この方法は、多くの開発者によって強く推奨されています(まもなくリリースされるPython 3.3には、標準ライブラリの一部としてvirtualenvが含まれていることを忘れないでください)。このアプローチは、Pythonインタープリターの独自のインスタンスとインストールされたパッケージを使用して仮想シェルを作成することを前提としています。

    分離された環境を実現するためのもう1つの一般的なツールは、ビルドアウトと呼ばれます。プロジェクトのソースと依存関係を1つのパスに配置するため、virtualenvが作成するのと同じ効果が得られます。プラグ可能なレシピ(さまざまな一般的なプロジェクト展開タスクを実装するコードの一部)のアイデアに基づいて構築されたビルドアウトの大きな利点と、インターネット上に数百の安定した信頼できるレシピがあります。

    virtualenvとbuildoutはどちらも、依存関係をインストールする際の頭痛の種を取り除き、単一のマシンに保持されている同じパッケージの異なるバージョンの問題を解決するのに役立ちます。

あなたの運命を選んでください...

于 2012-08-28T21:06:03.810 に答える
1

この質問に対する簡単な答えは「いいえ」です。パッケージはインストール時に任意のコードを実行でき、システム上のどこでも好きなように実行できるからです。

それらをすべて再インストールするだけです。

于 2012-08-28T22:32:23.037 に答える