141

2012年の初めからバージョン2.7をインストールしています。最新バージョンをインストールする前に、このバージョンを完全にアンインストールしてワイプする必要があるかどうかについてのコンセンサスが見つかりません。

「ソフト」-古いバージョンを削除しますか?古いバージョンをハード削除/ワイプしますか?上にインストールしますか?

私はどこかで、Pythonインストールの「セグメント化」方法を使用して、異なるバージョンを別々に分離したまま、機能する特別なインストール/アップグレードプロセスを見てきました。これが標準的な事実上の方法であるかどうかはわかりません。

また、Revoが熱心になりすぎて、環境/PATH変数などのまだ必要なレムナントを消去する際に問題が発生する可能性があるのではないかと思います。

(Win7 x64、32ビットPython)

4

4 に答える 4

108
更新:2018-07-06

この投稿は5年近く経ちました。Python-2.7は、2020年にpython.orgからの公式アップデートの受信を停止します。また、Python-3.7がリリースされました。Python-2コードをPython-3と互換性を持たせる方法については、Python-Futureをご覧ください。condaを更新するために、ドキュメントconda update --allでは、各conda環境で使用して、そのバージョンのすべてのパッケージとPython実行可能ファイルを更新することを推奨しています。また、名前がAnacondaに変更されたため、Windowsのレジストリキーが同じかどうかはわかりません。

更新:2017-03-24

2015年6月以降Python(x、y)の更新はないので、放棄されたと考えて間違いないと思います。

更新:2016-11-11

以下の@cxwのコメントのように、これらの回答は同じビットバージョンに対するものであり、ビットバージョンとは64ビットと32ビットを意味します。たとえば、これらの回答は、64ビットPython-2.7.10から64ビットPython-2.7.11への更新に適用されます。つまり同じビットバージョンです。Pythonの2つの異なるビットバージョンを一緒にインストールすることは可能ですが、ハッキングが必要になるため、読者のためにその演習を保存しておきます。ハッキングしたくない場合は、ビットバージョンを切り替える場合は、最初に他のビットバージョンを削除することをお勧めします。

更新:2016-05-16
  • AnacondaMiniCondaPATHは、Windowsとレジストリを変更するオプションを無効にすることで、既存のPythonインストールで使用できます。抽出後、にシンボリックリンクを作成するか、PyPIからcondaをインストールcondaします。次に、Anaconda/Minicondaルートビンフォルダーに呼び出されるbin別のシンボリックリンクを作成します。現在、Anaconda/MinicondaはRubyRVMと同じです。Anaconda/Minicondaを有効にするために使用するだけです。conda-activateactivateconda-activate root
  • ポータブルPythonは、もはや開発または保守されていません。

TL; DR

  • Anacondaまたはminicondaを使用して実行conda update --allし、各conda環境を最新の状態に保ちます。
  • 公式Pythonの同じメジャーバージョン例: 2.7.5)、古いもの(例: 2.7.4)の上にインストールするだけです。
  • 公式Pythonの異なるメジャーバージョン例: 3.3)、古いものと並べてインストールし、パス/アソシエーションをドミナント(例: 2.7)、他へのショートカット(例: BASH $ ln /c/Python33/python.exe python3)を指すように設定します。

答えは異なります:

  1. OPに2.7.xがあり、2.7.xの新しいバージョンをインストールしたい場合は、

    • Pythonの公式WebサイトからMSIインストーラーを使用している場合は、古いバージョンの上にインストールするだけで、インストーラーは古いバージョンを削除して置き換えるという警告を発行します。前後の「コントロールパネル」の「インストールされているプログラム」を見ると、古いバージョンが新しいバージョンに置き換えられていることが確認されます。2.7.xの新しいバージョンは下位互換性があるため、これは完全に安全であり、したがって、2.7.xのIMHO複数バージョンは必要ありません。
    • ソースからビルドする場合は、おそらく新しいクリーンなディレクトリにビルドし、すべてのテストに合格し、正常にビルドされたと確信したら、新しいビルドへのパスを指定する必要がありますが、古いものを保持することをお勧めしますソースからのビルドには問題が発生する場合があるため、ビルドアラウンドします。SDK7.0を使用してWindows7でPythonx64を構築するためのガイドを参照してください。
    • Python(x、y)などのディストリビューションからインストールする場合は、そのWebサイトを参照してください。Python(x、y)は放棄されました。 更新はPython(x、y)内からパッケージマネージャーを使用して処理できると思いますが、更新はWebサイトにも含まれています。私は特定の参照を見つけることができなかったので、おそらく他の誰かがこれに話すことができます。ActiveStateおよびおそらくEnthoughtと同様に、Python(x、y)は、Pythonの他のインストールと互換性がないと明確に述べています。

      Python(x、y)をインストールする前に、他のPythonディストリビューションをアンインストールすることをお勧めします

    • Enthought CanopyはMSIを使用し、すべてのユーザーに、またはすべてのユーザーに対して、またはユーザーごとにそれぞれインストールしProgram Files\Enthoughtますhome\AppData\Local\Enthought\Canopy\App。新しいインストールは、組み込みの更新ツールを使用して更新されます。彼らのドキュメントを参照してください。
    • ActiveStateもMSIを使用するため、古いインストールの上に新しいインストールをインストールできます。インストールノートを参照してください。

      他のPython2.7インストールWindowsでは、ActivePython2.7は他のPython2.7インストール(たとえば、python.orgからのPython 2.7ビルド)と共存できません。ActivePython 2.7をインストールする前に、他のPython2.7インストールをアンインストールしてください。

    • Sageは、仮想マシンにインストールすることをお勧めし、この目的に使用できるOracleVirtualBoxイメージファイルを提供します。アップグレードは、コマンドを発行することによって内部的に処理されsage -upgradeます。
    • Anacondaは、次のコマンドを使用して更新condaできます。

      conda update --all
      

      Anaconda / Minicondaを使用すると、ユーザーはPython-2.6、2.7、3.3、3.4、3.5を含む複数のPythonバージョンを管理するための環境を作成できます。ルートAnaconda/Minicondaのインストールは、現在Python-2.7またはPython-3.5のいずれかに基づいています。

      Anacondaは、他のPythonインストールを中断する可能性があります。インストールにはMSIインストーラーを使用します。 [更新:2016-05-16] AnacondaとMinicondaはインストーラーを使用し、Windowsとレジストリの変更.exeを無効にするオプションを提供するようになりました。PATH

      したがって、Anaconda / Minicondaは、インストール方法とインストール中に選択されたオプションに応じて、既存のPythonインストールを中断することなくインストールできます。.exeインストーラーが使用され、Windowsとレジストリを変更するオプションがPATH無効になっていない場合、以前のPythonインストールは無効になりますが、Anaconda / Minicondaインストールをアンインストールするだけで、WindowsレジストリPython\PythonCoreキーを除いて、元のPythonインストールが復元されます。

      Anaconda / Minicondaは、インストールオプションに関係なく、次のレジストリ編集を行います。HKCU\Software\Python\ContinuumAnalytics\次のキーを使用します。 Help、、および-公式Pythonもこれらのキーを登録しますが、。の下にあります。また、Anaconda\Minicondaのアンインストール情報も登録されています。インストール時に[Windowsに登録]オプションを選択しない限り、作成されないため、Python Tools forVisualStudioなどの統合ではAnaconda/Minicondaが自動的に表示されません。Anaconda / Minicondaを登録するオプション有効になっている場合、既存のPython Windowsレジストリキーが変更され、アンインストールしても復元されない可能性があります。InstallPathModulesPythonPathPython\PythonCorePythonCore

    • WinPythonの更新は、 WinPythonコントロールパネルから処理できると思います。
    • PortablePythonもう開発されていません更新方法はありませんでした。おそらく、更新を新しいディレクトリに解凍してApp\lib\site-packagesからApp\Scripts、新しいインストールにコピーすることができますが、これが機能しない場合は、すべてのパッケージを再インストールする必要があった可能性があります。pip listインストールされているパッケージとそのバージョンを確認するために使用します。一部はPortablePythonによってインストールされました。easy_install pippipがインストールされていない場合は、これを使用してインストールします。
  2. OPに2.7.xがあり、異なるバージョン(たとえば、 <=2.6.xまたは>= 3.xx)をインストールする場合は、異なるバージョンを並べてインストールすることで問題ありません。BASH*.pyを使用する場合は、異なるパスでシェルを設定できるはずですが、ファイルに関連付けるPythonのバージョン(存在する場合)とパスに含めるバージョンを選択する必要があります。AFAIK 2.7.xは2.6.xと下位互換性があるため、IMHOのサイドバイサイドインストールは必要ありませんが、Python-3.xxは下位互換性がないため、Python-2.7をパスに配置してPython-3は、python3と呼ばれる実行可能ファイルへのショートカットを作成することでオプションバージョンになります(これはLinuxでの一般的な設定です)。Windowsでの公式のPythonデフォルトインストールパスは

    • C:\ Python33 for 3.3.x(最新の2013-07-29)
    • C:\ Python32 for 3.2.x
    • &c。
    • C:\ Python27 for 2.7.x(最新の2013-07-29)
    • C:\ Python26 for 2.6.x
    • &c。
  3. OPがPythonを更新しておらず、単にパッケージを更新している場合は、virtualenvを調べて、開発プロジェクトに固有のパッケージのさまざまなバージョンを分離しておくことをお勧めします。Pipは、パッケージを更新するための優れたツールでもあります。パッケージがバイナリインストーラーを使用している場合、私は通常、新しいパッケージをインストールする前に古いパッケージをアンインストールします。

これで混乱が解消されることを願っています。

于 2013-07-30T18:20:15.977 に答える
5

最善の解決策は、さまざまなバージョンのPythonを複数のパスにインストールすることです。

例えば。2.7の場合はC:\ Python27、3.3の場合はC:\Python33。

詳細については、こちらをお読みください:Windowsで複数のPythonバージョンを実行する方法

于 2013-02-27T02:34:53.133 に答える
5
  • 公式のPython.msiインストーラーは、以下を置き換えるように設計されています。

    • 以前のマイクロリリース(xyzでは、zは「マイクロ」)。下位互換性とバイナリ互換性が保証されているためです。
    • 任意のマイクロバージョンでの「スナップショット」(ソースから構築)インストール
  • スナップショットインストーラーは、スナップショットをより低いマイクロバージョンに置き換えるように設計されています。

2.xの責任コード、3.xの責任コードを参照してください)

他のバージョンは必ずしも互換性があるとは限らないため、既存のバージョンと一緒にインストールされます。古いバージョンをアンインストールする場合は、手動でアンインストールする必要があります。また、サードパーティのモジュールをアンインストールします。

  • bdist_wininstパッケージ(Windows )からモジュールを.exeインストールした場合は、バージョンをアンインストールする前にモジュールをアンインストールしてください。そうしないと、カスタムロジックがある場合、アンインストーラーが正しく機能しない可能性があります。
  • setuptools/とともにインストールされたモジュールは、後で削除することができpipますLib\site-packages
  • ユーザーごとにインストールしたパッケージがある場合は、そこに存在し%APPDATA%/Python/PythonXY/site-packages、同様に削除できます
于 2018-05-31T03:48:19.267 に答える
1

私はいつも新しいバージョンを一番上にインストールしたばかりで、問題はありませんでした。ただし、新しいバージョンを指すようにパスが更新されていることを確認してください。

于 2013-02-27T02:17:17.180 に答える