Pythonを更新するには?


135

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

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

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

また、Revoが熱狂的になりすぎて、環境変数やPATH変数など、まだ必要なレムナントを一掃する際に問題が発生するのではないかと思います。

(Win7 x64、32ビットPython)


1
2.7は、とにかく2.xシリーズの最新バージョンです。3.xには下位互換性がありません。現在の2.7リリースにアップグレードする場合は、上書きでインストールします。
イーブイ2013

回答:


106
更新:2018-07-06

この投稿は現在、ほぼ5年前のものです。Python-2.7は、2020年にpython.orgからの公式アップデートの受信を停止します。また、Python-3.7がリリースされました。チェックアウトのPython -未来のPython-3と互換性のあるあなたのPython-2のコードを作成する方法について。condaを更新する場合、ドキュメントconda update --allでは、conda環境のそれぞれでを使用して、そのバージョンのすべてのパッケージとPython実行可能ファイルを更新することを推奨しています。また、名前をAnacondaに変更したため、Windowsレジストリキーが同じかどうかはわかりません。

更新:2017-03-24

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

更新:2016-11-11

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

アップデート:2016-05-16
  • AnacondaおよびMiniCondaは、Windows PATHおよびレジストリを変更するオプションを無効にすることにより、既存のPythonインストールで使用できます。抽出後、にシンボリックリンクを作成するか、PyPIからcondaをインストールcondaしますbin。その後と呼ばれる別のシンボリックリンクを作成conda-activateするactivateアナコンダ/ Minicondaルートのbinフォルダ内に。現在、Anaconda / MinicondaはRuby RVMに似ています。conda-activate rootAnaconda / Minicondaを有効にするために使用します。
  • 移植可能な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は必要ありません。
    • ソースからビルドする場合は、おそらく新しいクリーンなディレクトリでビルドし、すべてのテストに合格し、ビルドが正常に行われたと確信できたら、新しいビルドへのパスを指定する必要がありますが、古いものを保持することもできます。ソースからのビルドに時々問題が発生する可能性があるため、ビルドしてください。SDK 7.0を使用するWindows 7でPython x64を構築するためのガイドを参照してください
    • Python(x、y)などのディストリビューションからインストールする場合は、そのWebサイトを参照してください。Python(x、y)は廃止されました。 更新はパッケージマネージャーを使用してPython(x、y)内から処理できると思いますが、更新はWebサイトにも含まれています。特定の参照を見つけることができなかったので、おそらく他の誰かがこれについて話すことができます。ActiveStateと同様、おそらくEnthoughtと同様に、Python(x、y)は、他のPythonのインストールと互換性がないことを明確に述べています。

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

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

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

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

      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は.exeインストーラーを使用し、Windows PATHとレジストリの変更を無効にするオプションを提供するようになりました。

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

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

    • WinPythonの更新は、WinPythonコントロールパネルで処理できると思います。
    • PortablePython開発されていません更新方法はありませんでした。おそらくアップデートは、新鮮なディレクトリに解凍することができ、その後、App\lib\site-packagesおよびApp\Scripts新しいインストールにコピーすることができますが、これはすべてのパッケージを再インストール後、動作しなかった場合に必要であったかもしれません。pip listインストールされているパッケージとそのバージョンを確認するために使用します。一部はPortablePythonによってインストールされました。easy_install pipインストールされていない場合は、pipのインストールに使用します。
  2. OPは2.7.35を持ち、異なるバージョンをインストールしたい場合、例えば <=の2.6.xまたは> = 3.xxの場合、異なるバージョンをインストールすると、サイド・バイ・サイドで結構です。*.pyファイルに関連付けるPythonのバージョン(存在する場合)とパスに含めるバージョンを選択する必要がありますが、BASHを使用すると、異なるパスでシェルを設定できるはずです。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は、パッケージを更新するための優れたツールでもあります。パッケージがバイナリインストーラーを使用している場合、私は通常、新しいパッケージをインストールする前に古いパッケージをアンインストールします。

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


1
ねえマーク、私は初心者の質問があります。2.7.xから3.3.xにアップグレードすることが実際に重要だと思いますか?私はpythonを使い始めて、古いバージョンをインストールしましたが、始めたばかりなので、最新バージョンを学びたかったのです(非常に小さな違いがある場合を除いて)。これに対するあなたの呼びかけは何ですか?ご協力いただきありがとうございます。
Matteo

7
両方使用します。あなたはMS Windowsの上にある場合、あなたはあなたのルートフォルダになりますC:\Python27し、C:\Python33あなたがMac上でなら、あなたが表示されます、/Library/Frameworks/Python/Versions/2.7.xそして/Library/Frameworks/Python/Versions/3.3.x、あなたがLinux上でなら、あなたはおそらく既に持っている両方インストールしてください。伝統は、Python-2.7を使用し、Python-3.3のバイナリにシンボリックリンクすることpython33です。Python2orPython3およびPython 2 vs Python 3も参照してください。個人的には怠惰で3.3に切り替えることができません。
Mark Mikofski、2014年

2
詳しい回答ありがとうございます!2.7では、1つが32ビットで1つが64ビットの場合、古いバージョンへのインストールは機能しませんでした。「プログラムと機能」に2つのエントリがあり、どちらもC:\ Python27を指しています。32を32で、64を64で上書きするだけでよいという回答を追加してもよろしいですか?ありがとう!
cxw 2016年

1
@cxwフィードバックをありがとう。32と64の両方を一緒にしたい場合は、いくつかの方法があります。おそらく最も簡単なのは、32ビットバージョンの「admin」インストールと呼ばれるものをC:\Python27_x86コマンドラインから使用することですmsiexec /a "python-2.7.11.msi" TARGETDIR="C:\Python27_x86" /qn /l*v python27_x86_install.log。別のオプションは、ソースからビルドするか、Bootstrap Pythonを試すことです
Mark Mikofski、2016

1
MSIインストーラーは2.7フォルダーを置き換えると述べていますが、他のスクリプトを2.7ルートフォルダーに保存しても削除されません;)
XXN

6

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

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

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


これが私のやり方です。32ビット版と64ビット版のpython 2.7.xxと3.5.xxとIronPython 2.7.xxの両方を実行しています。開発にはEclipseを使用し、デバッグ時にはpythonパスを選択します。スクリプトを実行するときは、使用するインタープリターバージョンのパスを設定するだけです。3.5.0から3.5.3へのアップデートでは、新規インストールではなく単純なアップデートオプションが提供されます。
ビル・キッド

5
  • 公式のPython .msiインストーラーは、以下を置き換えるように設計されています。

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

2.x3.xの責任あるコードを参照)

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

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

1

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


1
上からインストールすると、ダウンロードしたpygame、bs4、lxmlなどの外部モジュールが保持されますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.