Bagaimana cara meningkatkan instalasi Python di Windows 10?

112

Saya memiliki Python 2.7.11 yang diinstal di salah satu stasiun LAB saya. Saya ingin mengupgrade Python ke setidaknya 3.5.

Bagaimana saya harus melakukan itu? Apakah saya lebih suka menghapus instalan 2.7.11 sepenuhnya dan daripada menginstal yang baru? Apakah ada cara untuk memperbaruinya? Apakah pembaruan adalah ide yang bagus?

Moshe S.
sumber
Mungkin postingan lama ini bisa membantu Anda? stackoverflow.com/questions/15102943/how-to-update-python Br.
MikeL
python2 dan python3 harus diperlakukan sebagai bahasa yang berbeda, seperti C # berbeda dengan C ++
WhatsThePoint

Jawaban:

97

Setiap versi minor Python, yaitu versi 3.x dan 2.x, akan diinstal berdampingan dengan versi lain di komputer Anda. Hanya versi tambalan yang akan meningkatkan instalasi yang ada.

Jadi jika Anda ingin tetap menginstal Python 2.7, biarkan saja dan instal versi baru menggunakan installer. Jika Anda ingin menghapus Python 2.7, Anda dapat menghapusnya sebelum atau setelah menginstal versi yang lebih baru — tidak ada perbedaan untuk ini.

Instalasi Python 3 saat ini hadir dengan py.exepeluncur, yang secara default dipasang ke direktori sistem. Ini membuatnya tersedia dari PATH, sehingga Anda dapat secara otomatis menjalankannya dari shell apa pun hanya dengan menggunakan pyalih-alih pythonsebagai perintah. Ini menghindari Anda harus memasukkan sendiri instalasi Python saat ini ke PATH. Dengan begitu, Anda dapat dengan mudah memiliki beberapa instalasi Python secara berdampingan tanpa mengganggu satu sama lain. Saat menjalankan, gunakan saja py script.pyalih-alih python script.pymenggunakan peluncur. Anda juga dapat menentukan versi menggunakan misalnya py -3atau py -3.6untuk meluncurkan versi tertentu, jika tidak, peluncur akan menggunakan default saat ini (yang biasanya adalah 3.x terbaru).

Menggunakan peluncur, Anda juga dapat menjalankan skrip Python 2 (yang seringkali sintaksnya tidak kompatibel dengan Python 3), jika Anda memutuskan untuk tetap memasang instalasi Python 2.7. Cukup gunakan py -2 script.pyuntuk meluncurkan skrip.


Adapun paket PyPI, setiap instalasi Python dilengkapi dengan foldernya sendiri tempat modul diinstal. Jadi jika Anda menginstal versi baru dan ingin menggunakan modul yang Anda instal untuk versi sebelumnya, Anda harus menginstalnya terlebih dahulu untuk versi baru. Versi penginstal saat ini juga menawarkan Anda untuk menginstal pip; itu diaktifkan secara default, jadi Anda sudah memiliki pipuntuk setiap instalasi. Kecuali Anda secara eksplisit menambahkan instalasi Python ke PATH, Anda tidak bisa begitu saja menggunakannya pip. Untungnya, Anda juga dapat menggunakan py.exepeluncur untuk ini: py -m pipberjalan pip. Jadi misalnya untuk menginstal Beautiful Soup for Python 3.6, Anda bisa menjalankannya py -3.6 -m pip install beautifulsoup4.

menyodok
sumber
1
Bagaimana Anda merekomendasikan untuk melakukannya di stasiun yang saat ini saya gunakan untuk pengembangan skrip? Omong-omong, saya memiliki 3.5.2 (Windows 7 64-bit)
Moshe S.
1
Cukup instal versi baru secara berdampingan. Tidak perlu menghapus versi lama. Memiliki versi lama bahkan dapat membantu Anda untuk memigrasi skrip yang ada dari Python 2 ke Python 3, jadi Anda masih dapat menjalankan yang asli.
aduk
1
Penginstal akan memberi Anda opsi untuk mengatur PATH untuk Anda, jadi Anda mungkin tidak perlu melakukannya secara manual. Dan ya, IDE Anda perlu diperbarui.
aduk
1
juga py -3.7-64ataupy -3.7-32
noobninja
1
Catatan: py adalah Python Launcher untuk Windows . Atau lihat PEP 397 yang menjelaskannya. Itu tidak bisa diinstal untuk Linux / Mac.
LightCC
39

Menginstal / Meningkatkan Python Menggunakan Chocolatey Windows Package Manager

Katakanlah Anda memiliki Python 2.7.16:

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

... dan Anda ingin meningkatkan ke versi 3.xy (sekarang saat ini). Ada cara sederhana untuk menginstal instalasi paralel Python 3.xy menggunakan alat manajemen paket Windows.

Sekarang Windows modern memiliki manajemen paket, seperti distribusi Debian Linux memiliki apt-get, dan RedHat memiliki dnf: kita dapat membuatnya bekerja untuk kita! Ini disebut Chocolatey .

Apa itu Chocolatey?

Chocolatey adalah alat baris perintah skrip yang didasarkan pada .NET 4.0 dan manajer paket nuget dimasukkan ke dalam Visual Studio.

Jika Anda ingin mempelajari tentang Chocolatey dan mengapa menggunakannya, yang menurut beberapa bacaan ini mungkin berguna, buka https://chocolatey.org/docs/why

Memasang Chocolatey

Untuk mendapatkan Chocolatey Package Manager, Anda mengikuti proses yang dijelaskan di https://chocolatey.org/docs/installation#installing-chocolatey ,

Saya akan meringkasnya untuk Anda di sini. Pada dasarnya ada dua opsi: menggunakan prompt cmd, atau menggunakan prompt PowerShell.

Instalasi CMD Prompt Chocolatey

Luncurkan prompt perintah administratif . Di Windows 10, untuk melakukan ini:

  • Windows+R
  • Ketik cmd
  • Tekan ctrl+ shift+Enter

Jika Anda tidak memiliki hak administrator di sistem, buka situs web Chocolatey . Anda mungkin tidak sepenuhnya kurang beruntung dan dapat melakukan pemasangan lokal terbatas, tetapi saya tidak akan membahasnya di sini.

  • Salin string di bawah ini ke dalam command prompt Anda dan ketik 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 akan diunduh dan dipasang untuk Anda seperti di bawah ini:

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

Entah Keluar CMD cepat atau ketik perintah berikut untuk reload variabel lingkungan:

refreshenv

Instalasi PowerShell Chocolatey

Jika Anda lebih suka PowerShell daripada perintah cmd, Anda dapat melakukannya langsung dari sana, namun Anda harus memberi tahu PowerShell untuk menjalankan kebijakan eksekusi skrip yang tepat agar dapat berfungsi. Pada Windows 10, cara paling sederhana yang saya temukan untuk melakukan ini adalah dengan mengetik berikut ini ke dalam bilah pencarian Cortana di sebelah tombol Windows:

PowerShell.exe

Selanjutnya, klik kanan pada pilihan 'Best Match' di menu yang muncul dan pilih 'Run as Administrator'

Sekarang Anda berada di PowerShell, semoga berjalan dengan hak istimewa Administrator, jalankan yang berikut ini untuk menginstal Chocolatey:

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

PowerShell akan mengunduh Chocolatey untuk Anda dan meluncurkan penginstalan. Hanya perlu beberapa saat. Ini terlihat persis seperti instalasi CMD, mungkin menyimpan beberapa teks berwarna.

Entah Keluar PowerShell atau ketik perintah berikut untuk reload variabel lingkungan:

refreshenv

Mengupgrade Python

Perintah choco sama apakah Anda menggunakan PowerShell atau prompt cmd. Luncurkan favorit Anda menggunakan petunjuk seperti di atas. Saya akan menggunakan prompt cmd administrator:

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

Pada dasarnya, chocolatey akan memberi tahu Anda "Hei, Python belum diinstal" karena Anda berasal dari 2.7.x dan memperlakukan versi 2.7 sebagai benar - benar terpisah. Ini hanya akan memberi Anda versi terbaru, 3.xy (saat tulisan ini dibuat, 3.7.2, tetapi itu akan berubah dalam beberapa bulan):

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).

Entah keluar dari cmd / Powershell prompt dan masukkan kembali, atau penggunaan refreshenv kemudian ketik 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

Perhatikan bahwa penginstalan Python terbaru sekarang akan mengambil alih saat Anda mengetik Python di baris perintah. Anda dapat menjalankan salah satu versi dengan menggunakan perintah berikut:

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:\>

Dari sini saya sarankan Anda menggunakan utilitas pip Python untuk menginstal paket apa pun yang Anda butuhkan. Misalnya, Anda ingin menginstal Flask. Perintah di bawah pip upgrade pertama, lalu instal 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

... akan melakukan triknya. Selamat Pythoning!

ggariepy.dll
sumber
Versi singkat jawabannya adalah install Chocolatey dan kemudian refreshenv dari command prompt Anda kemudian lakukan choco install python itu akan menginstal versi terbaru python. Lakukan refreshenv lagi di cmd dan Anda harus menjalankan python terbaru dari cmd Anda.
Sebastian
Mendapatkan kesalahan ini di CMD dan POWERSHELL Pengecualian memanggil "DownloadString" dengan argumen "1": "Sambungan yang mendasari ditutup: Terjadi kesalahan yang tidak terduga pada pengiriman." Pada baris: 1 karakter: 104 + Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient) .DownloadString <<<< (' chocolatey.org/install.ps1' )) + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: DotNetMethodException
trustory
Saya punya windows 7 bantuan bagaimana meng-upgrade ke python 3 dari python2 sepertinya chocoaltely tidak berfungsi.
trustory
38

Jika Anda meningkatkan versi Python 3.xy ke 3.xz (patch), cukup buka halaman unduhan Python untuk mendapatkan versi terbaru dan mulai penginstalan. Karena Anda sudah menginstal Python pada mesin Anda, penginstal akan meminta Anda untuk "Upgrade Sekarang". Klik tombol itu dan itu akan menggantikan versi yang ada dengan yang baru. Anda juga harus memulai ulang komputer setelah penginstalan.

masukkan deskripsi gambar di sini

Jika Anda meningkatkan dari 3.x ke 3.y (minor) maka Anda akan diminta dengan "Instal Sekarang". Dalam kasus ini, Anda tidak mengupgrade, tetapi Anda menginstal versi baru Python. Anda dapat menginstal lebih dari satu versi di mesin Anda. Mereka akan ditempatkan di direktori yang berbeda. Jika Anda memiliki lebih dari satu versi Python di komputer Anda, Anda perlu menggunakan py lanucher untuk meluncurkan versi Python tertentu.

Misalnya:

py -3.7

atau

py -3.8

Pastikan Anda telah menginstal peluncur py di mesin Anda. Ini akan diinstal secara otomatis jika Anda menggunakan pengaturan default penginstal windows. Anda selalu dapat memeriksanya jika Anda mengeklik tautan "Ubahsuaikan pemasangan" di jendela pemasangan.

Jika Anda memiliki beberapa versi Python yang diinstal di mesin Anda dan Anda memiliki proyek yang menggunakan versi Python sebelumnya menggunakan lingkungan virtual misalnya (venv), Anda dapat meningkatkan Python hanya di venv itu menggunakan:

python -m venv --upgrade "jalur lingkungan virtual Anda"

Misalnya, saya memiliki Python 3.7 di lingkungan virtual ./venv saya dan saya ingin memutakhirkan venv ke Python 3.8, saya akan mengikuti

python -m venv --upgrade ./venv

Vlad Bezden
sumber
1
@ MosheS. Anda bisa mendapatkan daftar paket yang sudah ketinggalan zaman menggunakan perintah berikut: pip list --outdated dan kemudian perbarui setiap paket dengan python -m pip install --upgrade <your package>
Vlad Bezden
5
Pindah dari 3.7.2 ke 3.7.4 (64 bit) di Windows 10 Saya tidak melihat ini, saya melihat "Instal Sekarang" di mana Anda melihat "Tingkatkan Sekarang"
dumbledad
3
Saya baru saja berpindah dari 3.7.3 ke 3.7.5 dan mendapatkan pesan "Upgrade Sekarang". Jika saya mencoba mengupgrade dari 3.7.3 ke 3.8 maka saya akan mendapatkan "Instal Sekarang".
Tiago Martins Peres 李大仁
1
@Suncatcher Anda benar, itulah yang saya jelaskan bagian "Jika Anda ingin meningkatkan dari 3.x ke 3.y maka ...". Silakan baca di atas.
Vlad Bezden
1
@Suncatcher, terima kasih atas umpan baliknya. Saya memperbarui deskripsi.
Vlad Bezden
4

Python 2.x dan Python 3.x berbeda. Jika Anda ingin mengunduh versi Python 2 yang lebih baru, Anda dapat mengunduh dan menginstal versi yang lebih baru.

Jika Anda ingin menginstal Python 3, Anda dapat menginstal Python 3 secara terpisah kemudian mengubah jalur untuk Python 2.x ke Python 3.x di Panel Kontrol> Semua Item Panel Kontrol> Sistem> Pengaturan Sistem Lanjutan> Variabel Lingkungan.

Julian Chan
sumber
Saya lebih suka menghapus Python 2.7.11 sepenuhnya karena saya tidak berencana untuk mendukungnya. Jadi saya harus menghapusnya sepenuhnya. Baik ? "Program dan Fitur" tidak menampilkan Python jadi saya tidak tahu bagaimana cara menghapusnya. Haruskah saya menggunakan pip, dan bagaimana caranya? Apakah ide yang bagus untuk hanya menghapus folder Python? Bagaimana dengan semua paket lama yang diinstal dengannya (jika ada), bagaimana saya bisa menghapusnya juga?
Moshe S.
@Tokopedia Saya tidak berpikir itu benar-benar membutuhkan banyak ruang, tetapi jika Anda ingin membersihkannya, tentu saja. Mereka semua harus berada di folder yang sama, Anda mungkin dapat menghapus instalan dari Program dan Fitur panel kontrol. Python 2.7 dan 3.4 saya ada di sana. Menghapus instalasi dari sana akan menghapus semua paket Jika Anda benar-benar tidak dapat menemukannya, Anda dapat mencoba menghapus seluruh folder. Saat Anda mengunduh Python 3 dan jika tidak berhasil, edit jalur seperti yang saya jawab di atas, kemungkinan besar itu akan menjadi masalah utama, jika ada.
Julian Chan
3

Di tahun 2019, Anda bisa menginstal menggunakan chocolatey . Buka cmd atau PowerShell Anda, ketik "choco install python".

roscoe_x
sumber
-1

Cara termudah untuk menginstal versi terbaru dari Python (jika Anda telah menghapus versi lain) adalah dengan mengetik Pythonke PowerShell.

Ini akan membuka Microsoft Store dan Anda mengklik Gettombolnya.

Mike Poole
sumber