Jak zaktualizować instalację Pythona w systemie Windows 10?

112

Mam Pythona 2.7.11 zainstalowanego na jednej z moich stacji LAB. Chciałbym zaktualizować Pythona do co najmniej 3.5.

Jak mam to zrobić? Czy powinienem całkowicie odinstalować wersję 2.7.11, a niż zainstalować nową? Czy jest sposób, aby to zaktualizować? Czy aktualizacja to dobry pomysł?

Moshe S.
źródło
Może ten starszy post może ci pomóc? stackoverflow.com/questions/15102943/how-to-update-python Br.
MikeL
python2 i python3 powinny być traktowane jako różne języki, tak jak C # różni się od C ++
WhatsThePoint

Odpowiedzi:

97

Każda pomocnicza wersja Pythona, to znaczy każda wersja 3.x i 2.x, zostanie zainstalowana równolegle z innymi wersjami na Twoim komputerze. Tylko wersje poprawek będą aktualizować istniejące instalacje.

Więc jeśli chcesz zachować zainstalowany Python 2.7, po prostu pozwól mu i zainstaluj nową wersję za pomocą instalatora. Jeśli chcesz pozbyć się Pythona 2.7, możesz go odinstalować przed lub po zainstalowaniu nowszej wersji - nie ma w tym różnicy.

Bieżące instalacje Pythona 3 są dostarczane z py.exeprogramem uruchamiającym, który domyślnie jest instalowany w katalogu systemowym. To sprawia, że ​​jest on dostępny z PATH, więc możesz automatycznie uruchomić go z dowolnej powłoki, używając pyzamiast pythontego polecenia. Pozwala to uniknąć konieczności samodzielnego umieszczania bieżącej instalacji Pythona w PATH. W ten sposób można łatwo mieć wiele instalacji Pythona obok siebie, bez ich wzajemnego zakłócania. Podczas biegania po prostu użyj py script.pyzamiast, python script.pyaby użyć programu uruchamiającego. Możesz również określić wersję, używając na przykład py -3lub py -3.6do uruchomienia określonej wersji, w przeciwnym razie program uruchamiający użyje bieżącej wersji domyślnej (zwykle będzie to najnowsza wersja 3.x).

Korzystając z programu uruchamiającego, możesz również uruchamiać skrypty Python 2 (które często są niezgodne składnią z Pythonem 3), jeśli zdecydujesz się zachować instalację Pythona 2.7. Po prostu użyj, py -2 script.pyaby uruchomić skrypt.


Jeśli chodzi o pakiety PyPI, każda instalacja Pythona ma swój własny folder, w którym instalowane są moduły. Jeśli więc instalujesz nową wersję i chcesz używać modułów zainstalowanych w poprzedniej wersji, będziesz musiał najpierw zainstalować je dla nowej wersji. Aktualne wersje instalatora oferują również instalację pip; jest domyślnie włączona, więc masz już to pipdla każdej instalacji. O ile nie dodasz jawnie instalacji Pythona do PATH, nie możesz po prostu użyć pip. Na szczęście możesz po prostu użyć py.exedo tego programu py -m pipuruchamiającego : działa pip. Na przykład, aby zainstalować Beautiful Soup dla Pythona 3.6, możesz uruchomić py -3.6 -m pip install beautifulsoup4.

szturchać
źródło
1
Jak poleciłbyś to zrobić na stacji, której obecnie używam do tworzenia skryptów? Nawiasem mówiąc, mam 3.5.2 (Windows 7 64-bitowy)
Moshe S.
1
Po prostu zainstaluj nową wersję obok siebie. Nie ma potrzeby usuwania starej wersji. Posiadanie starej wersji może nawet pomóc w migracji istniejących skryptów z Pythona 2 do Pythona 3, aby nadal można było uruchamiać oryginalne.
szturchnij
1
Instalator da ci opcję ustawienia ŚCIEŻKI za Ciebie, więc może nie być konieczne wykonywanie tego ręcznie. I tak, twoje IDE musi zostać zaktualizowane.
szturchnij
1
także py -3.7-64lubpy -3.7-32
noobninja
1
Uwaga: py to Python Launcher dla Windows . Lub zobacz PEP 397, który to definiuje. Nie jest instalowany w systemie Linux / Mac.
LightCC
39

Instalowanie / aktualizowanie Pythona za pomocą Chocolatey Windows Package Manager

Powiedzmy, że masz Pythona 2.7.16:

    C:\Windows\system32>python --version
    python2 2.7.16

... i chcesz dokonać aktualizacji do (obecnie aktualnej) wersji 3.xy. Istnieje prosty sposób na zainstalowanie równoległej instalacji języka Python 3.xy za pomocą narzędzia do zarządzania pakietami systemu Windows.

Teraz, gdy nowoczesny system Windows ma zarządzanie pakietami, podobnie jak dystrybucje Debiana Linux mają apt-get, a RedHat ma dnf: możemy to dla nas uruchomić! Nazywa się Chocolatey .

Co to jest Chocolatey?

Chocolatey to skryptowalne narzędzie wiersza poleceń, które jest oparte na .NET 4.0 i menedżerze pakietów NuGet wbudowanym w Visual Studio.

Jeśli chcesz dowiedzieć się więcej o Chocolatey i dlaczego jej używać, co dla niektórych osób czytających to może być szczególnie przydatne, przejdź do https://chocolatey.org/docs/why

Instalowanie Chocolatey

Aby otrzymać Chocolatey Package Manager, postępuj zgodnie z procesem opisanym na https://chocolatey.org/docs/installation#installing-chocolatey ,

Podsumuję to dla Ciebie tutaj. Istnieją zasadniczo dwie opcje: użycie polecenia cmd lub użycie polecenia PowerShell.

CMD Szybka instalacja Chocolatey

Uruchom administracyjny wiersz polecenia. Aby to zrobić w systemie Windows 10:

  • Windows+R
  • Wpisz cmd
  • Naciśnij ctrl+ shift+Enter

Jeśli nie masz uprawnień administratora w systemie, przejdź do witryny Chocolatey . Możesz nie mieć szczęścia i możesz przeprowadzić ograniczoną instalację lokalną, ale nie omówię tego tutaj.

  • Skopiuj poniższy ciąg do wiersza poleceń i wpisz Enter:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Chocolatey zostanie pobrany i zainstalowany, jak poniżej:

Getting latest version of the Chocolatey package for download.
Getting Chocolatey from https://chocolatey.org/api/v2/package/chocolatey/0.10.11.
Downloading 7-Zip commandline tool prior to extraction.
Extracting C:\Users\blahblahblah\AppData\Local\Temp\chocolatey\chocInstall\chocolatey.zip to C:\Users\blahblahblah\AppData\Local\Temp\chocolatey\chocInstall...
Installing chocolatey on this machine
Creating ChocolateyInstall as an environment variable (targeting 'Machine')
  Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'
WARNING: It's very likely you will need to close and reopen your shell
  before you can use choco.
Restricting write permissions to Administrators
We are setting up the Chocolatey package repository.
The packages themselves go to 'C:\ProgramData\chocolatey\lib'
  (i.e. C:\ProgramData\chocolatey\lib\yourPackageName).
A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'
  and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.

Creating Chocolatey folders if they do not already exist.

WARNING: You can safely ignore errors related to missing log files when
  upgrading from a version of Chocolatey less than 0.9.9.
  'Batch file could not be found' is also safe to ignore.
  'The system cannot find the file specified' - also safe.
chocolatey.nupkg file not installed in lib.
 Attempting to locate it from bootstrapper.
PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding...
WARNING: Not setting tab completion: Profile file does not exist at 'C:\Users\blahblahblah\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.
Run choco /? for a list of functions.
You may need to shut down and restart powershell and/or consoles
 first prior to using choco.
Ensuring chocolatey commands are on the path
Ensuring chocolatey.nupkg is in the lib folder

Albo Wyjdź monitu CMD lub wpisz następujące polecenie, aby odświeżyć zmienne środowiskowe:

refreshenv

Instalacja PowerShell Chocolatey

Jeśli wolisz PowerShell od monitu cmd, możesz to zrobić bezpośrednio z tego miejsca, jednak będziesz musiał powiedzieć PowerShell, aby działał z odpowiednią polityką wykonywania skryptu, aby działał. W systemie Windows 10 najprostszym sposobem, jaki znalazłem, jest wpisanie następującego wpisu w pasku wyszukiwania Cortana obok przycisku Windows:

PowerShell.exe

Następnie kliknij prawym przyciskiem myszy opcję „Najlepsze dopasowanie” w wyskakującym menu i wybierz opcję „Uruchom jako administrator”

Teraz, gdy jesteś w PowerShell, miejmy nadzieję, że masz uprawnienia administratora, wykonaj następujące czynności, aby zainstalować Chocolatey:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

PowerShell pobierze dla Ciebie Chocolatey i uruchomi instalację. Zajmie to tylko kilka chwil. Wygląda dokładnie jak instalacja CMD, z wyjątkiem być może jakiegoś fantazyjnego kolorowego tekstu.

Albo Wyjście PowerShell lub wpisz następujące polecenie, aby odświeżyć zmienne środowiskowe:

refreshenv

Uaktualnianie Pythona

Polecenie choco jest takie samo, niezależnie od tego, czy używasz programu PowerShell, czy polecenia cmd. Uruchom swój ulubiony, postępując zgodnie z instrukcjami jak powyżej. Użyję polecenia cmd administratora:

C:\WINDOWS\system32>choco upgrade python -y

Zasadniczo, chocolatey powie ci „Hej, Python nie jest zainstalowany”, ponieważ pochodzisz z 2.7.xi traktuje wersję 2.7 jako całkowicie oddzielną. Jest tylko zamiar dać Ci najbardziej aktualną wersję, 3.xy (jak to pisze, 3.7.2, ale to się zmieni w ciągu kilku miesięcy):

Chocolatey v0.10.11
Upgrading the following packages:
python
By upgrading you accept licenses for the packages.
python is not installed. Installing...

python3 v3.x.y [Approved]
python3 package files upgrade completed. Performing other installation steps.
Installing 64-bit python3...
python3 has been installed.
Installed to: 'C:\Python37' 
  python3 can be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).
 The upgrade of python3 was successful.
  Software installed as 'exe', install location is likely default.

python v3.x.y [Approved]
python package files upgrade completed. Performing other installation steps.
 The upgrade of python was successful.
  Software install location not explicitly set, could be in package or
  default install location if installer.

Chocolatey upgraded 2/2 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Albo wyjść z cmd / PowerShell szybka i ponownie wprowadzić go lub wykorzystanie refreshenv następnie wpisz py version

C:\Windows\System32>refreshenv
Refreshing environment variables from registry for cmd.exe. Please wait...Finished..

C:\Windows\system32>py --version
Python 3.7.2

Zauważ, że najnowsza instalacja Pythona przejmie teraz kontrolę, gdy wpiszesz Python w wierszu poleceń. Możesz uruchomić każdą wersję, używając następujących poleceń:

py -2
Python 2.7.16 (v2.7.16:413a49145e, Mar  4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

C:\>py -3
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>exit()
C:\>

Odtąd sugeruję użycie narzędzia pip Python do zainstalowania potrzebnych pakietów. Na przykład, powiedzmy, że chcesz zainstalować Flask. Poniższe polecenia najpierw zaktualizuj pip, a następnie zainstaluj Flask

C:\>py -3 -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/d8/f3/413bab4ff08e1fc4828dfc59996d721917df8e8583ea85385d51125dceff/pip-19.0.3-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 1.6MB/s
Installing collected packages: pip
  Found existing installation: pip 18.1
    Uninstalling pip-18.1:
      Successfully uninstalled pip-18.1
Successfully installed pip-19.0.3

c:\>py -3 -m pip install Flask

...da rade. Miłego Pythona!

ggariepy
źródło
Krótka wersja odpowiedzi brzmi: zainstaluj Chocolatey, a następnie odśwież z wiersza poleceń, a następnie wykonaj instalację choco python, która zainstaluje najnowszą wersję pythona. Wykonaj refreshenv ponownie w cmd i powinieneś uruchomić najnowszy Python z cmd.
Sebastian
Pojawienie się tego błędu w CMD i POWERSHELL Wyjątek wywołujący „DownloadString” z argumentami „1”: „Połączenie podstawowe zostało zamknięte: podczas wysyłania wystąpił nieoczekiwany błąd”. W linii: 1 znak: 104 + Pomiń Set-ExecutionPolicy -Scope Process-Force; iex ((New-Object System.Net.WebClient) .DownloadString <<<< (' chocolatey.org/install.ps1' )) + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: DotNetMethodException
trustory
Mam Windows 7 jakakolwiek pomoc, jak uaktualnić python 3 z python2 wydaje się, że chocoaltely nie działa.
trustor
39

Jeśli aktualizujesz dowolną wersję 3.xy do 3.xz (łatka) Pythona, po prostu przejdź do strony pobierania Pythona, pobierz najnowszą wersję i rozpocznij instalację. Ponieważ masz już zainstalowany Python na swoim komputerze, instalator wyświetli monit o „Uaktualnij teraz”. Kliknij ten przycisk, aby zastąpić istniejącą wersję nową. Po instalacji będziesz musiał ponownie uruchomić komputer.

wprowadź opis obrazu tutaj

W przypadku aktualizacji z wersji 3.x do 3.y (pomocnicza) zostanie wyświetlony monit „Zainstaluj teraz”. W tym przypadku nie aktualizujesz, ale instalujesz nową wersję Pythona. Na komputerze możesz zainstalować więcej niż jedną wersję. Będą znajdować się w różnych katalogach. Jeśli masz więcej niż jedną wersję Pythona na swoim komputerze, będziesz musiał użyć py lanucher, aby uruchomić określoną wersję Pythona.

Na przykład:

py -3,7

lub

py -3,8

Upewnij się, że masz zainstalowany program Py Launcher na swoim komputerze. Zostanie zainstalowany automatycznie, jeśli używasz domyślnych ustawień instalatora systemu Windows. Zawsze możesz to sprawdzić, klikając łącze „Dostosuj instalację” w oknie instalacji.

Jeśli masz kilka wersji Pythona zainstalowanych na swojej maszynie i masz projekt, który używa poprzedniej wersji Pythona przy użyciu środowiska wirtualnego, np. (Venv), możesz zaktualizować Pythona tylko w tym venv za pomocą:

python -m venv --upgrade "ścieżka do środowiska wirtualnego"

Na przykład mam Python 3.7 w swoim wirtualnym środowisku ./venv i chciałbym zaktualizować venv do Pythona 3.8, zrobiłbym następujące

python -m venv --upgrade ./venv

Vlad Bezden
źródło
1
@ MosheS. Możesz uzyskać listę nieaktualnych pakietów za pomocą następującego polecenia: pip list --outdated, a następnie zaktualizować każdy pakiet przez python -m pip install --upgrade <twój pakiet>
Vlad Bezden
5
Przechodząc z wersji 3.7.2 do 3.7.4 (64-bitowej) w systemie Windows 10 Nie widzę tego, widzę „Zainstaluj teraz”, gdzie widzę „Uaktualnij teraz”
dumbledad
3
Właśnie przeniosłem się z wersji 3.7.3 na 3.7.5 i otrzymałem komunikat „Uaktualnij teraz”. Gdybym spróbował zaktualizować z 3.7.3 do 3.8, dostałbym "Zainstaluj teraz".
Tiago Martins Peres 李大仁
1
@Suncatcher masz rację, to właśnie opisałem w sekcji „Jeśli chcesz uaktualnić z 3.x do 3.y, to ...”. Przeczytaj powyższe.
Vlad Bezden
1
@Suncatcher, dziękuję za opinię. Zaktualizowałem opis.
Vlad Bezden
4

Python 2.xi Python 3.x są różne. Jeśli chcesz pobrać nowszą wersję Pythona 2, możesz po prostu pobrać i zainstalować nowszą wersję.

Jeśli chcesz zainstalować Python 3, możesz zainstalować Python 3 osobno, a następnie zmienić ścieżkę dla Pythona 2.x na Python 3.x w Panelu sterowania> Wszystkie elementy Panelu sterowania> System> Zaawansowane ustawienia systemu> Zmienne środowiskowe.

Julian Chan
źródło
Wolę całkowicie usunąć Pythona 2.7.11, ponieważ nie planuję go wspierać. Więc powinienem go całkowicie usunąć. Dobrze ? „Programy i funkcje” nie wyświetlały Pythona, więc nie wiem, jak go usunąć. Czy powinienem używać pip i jak? Czy dobrym pomysłem jest po prostu usunięcie folderu Pythona? A co ze wszystkimi starymi pakietami, które zostały z nim zainstalowane (jeśli były jakieś), jak mogę je również odinstalować?
Moshe S.,
@MosheS. Wydaje mi się, że to naprawdę nie zajmuje tyle miejsca, ale jeśli chcesz posprzątać, to z całą pewnością. Wszystkie powinny znajdować się w tym samym folderze, prawdopodobnie można je odinstalować z poziomu panelu sterowania Programy i funkcje. Znajduje się tam zarówno mój Python 2.7, jak i 3.4. Odinstalowanie z tego miejsca spowoduje usunięcie wszystkich pakietów. Jeśli naprawdę nie możesz go znaleźć, możesz spróbować po prostu usunąć cały folder. Kiedy pobierzesz Pythona 3 i jeśli to nie zadziała, przejdź do edycji ścieżki, tak jak odpowiedziałem powyżej, najprawdopodobniej byłby to główny problem, jeśli w ogóle.
Julian Chan,
3

W 2019 możesz zainstalować za pomocą czekolady . Otwórz cmd lub powershell, wpisz „choco install python”.

roscoe_x
źródło