Làm cách nào để nâng cấp cài đặt Python trong Windows 10?


112

Tôi đã cài đặt Python 2.7.11 trên một trong các trạm LAB của mình. Tôi muốn nâng cấp Python lên ít nhất 3.5.

Tôi nên làm điều đó như thế nào? Tôi có nên gỡ cài đặt hoàn toàn 2.7.11 và cài đặt mới hơn không? Có cách nào để cập nhật nó không? Cập nhật có phải là một ý tưởng tốt?


Có lẽ bài viết cũ hơn này có thể giúp bạn? stackoverflow.com/questions/15102943/how-to-update-python Br.
MikeL

python2 và python3 phải được coi là langauges khác nhau, như C # khác với C ++
WhatsThePoint

Câu trả lời:


97

Mọi phiên bản nhỏ của Python, tức là bất kỳ phiên bản 3.x và 2.x nào, sẽ cài đặt song song với các phiên bản khác trên máy tính của bạn. Chỉ các phiên bản vá lỗi sẽ nâng cấp các cài đặt hiện có.

Vì vậy, nếu bạn muốn giữ nguyên Python 2.7 đã cài đặt của mình, thì chỉ cần để nó và cài đặt phiên bản mới bằng trình cài đặt. Nếu bạn muốn loại bỏ Python 2.7, bạn có thể gỡ cài đặt nó trước hoặc sau khi cài đặt phiên bản mới hơn — không có gì khác biệt với điều này.

Các cài đặt Python 3 hiện tại đi kèm với py.exetrình khởi chạy, theo mặc định được cài đặt vào thư mục hệ thống. Điều này làm cho nó có sẵn từ PATH, vì vậy bạn có thể tự động chạy nó từ bất kỳ trình bao nào chỉ bằng cách sử dụng pythay vì pythondưới dạng lệnh. Điều này giúp bạn không phải tự mình đưa cài đặt Python hiện tại vào PATH. Bằng cách đó, bạn có thể dễ dàng cài đặt nhiều Python song song với nhau mà chúng không can thiệp vào nhau. Khi chạy, chỉ sử dụng py script.pythay vì python script.pysử dụng trình khởi chạy. Bạn cũng có thể chỉ định một phiên bản bằng cách sử dụng ví dụ py -3hoặc py -3.6để khởi chạy một phiên bản cụ thể, nếu không trình khởi chạy sẽ sử dụng mặc định hiện tại (thường sẽ là 3.x mới nhất).

Sử dụng trình khởi chạy, bạn cũng có thể chạy các tập lệnh Python 2 (thường cú pháp không tương thích với Python 3), nếu bạn quyết định giữ lại cài đặt Python 2.7 của mình. Chỉ sử dụng py -2 script.pyđể khởi chạy một tập lệnh.


Đối với các gói PyPI, mỗi bản cài đặt Python đều đi kèm với thư mục riêng nơi các mô-đun được cài đặt vào. Vì vậy, nếu bạn cài đặt một phiên bản mới và bạn muốn sử dụng các mô-đun bạn đã cài đặt cho phiên bản trước đó, bạn sẽ phải cài đặt chúng trước cho phiên bản mới. Các phiên bản hiện tại của trình cài đặt cũng cung cấp cho bạn cài đặt pip; nó được bật theo mặc định, vì vậy bạn đã có pipcho mọi cài đặt. Trừ khi bạn thêm một cách rõ ràng cài đặt Python vào PATH, bạn không thể chỉ sử dụng pip. May mắn thay, bạn cũng có thể đơn giản sử dụng py.exetrình khởi chạy cho việc này: py -m pipchạy pip. Vì vậy, ví dụ để cài đặt Beautiful Soup cho Python 3.6, bạn có thể chạy py -3.6 -m pip install beautifulsoup4.


1
Làm thế nào bạn khuyên bạn nên làm điều đó trên một đài mà tôi hiện đang sử dụng để phát triển tập lệnh? Bằng cách này, tôi có một 3.5.2 (Windows 7 64-bit)
Moshe S.

1
Chỉ cần cài đặt phiên bản mới song song. Không cần xóa phiên bản cũ. Có phiên bản cũ thậm chí có thể giúp bạn di chuyển các tập lệnh hiện có từ Python 2 sang Python 3, vì vậy bạn vẫn có thể chạy các tập lệnh gốc.
poke

1
Trình cài đặt sẽ cung cấp cho bạn một tùy chọn để đặt PATH cho bạn, vì vậy bạn có thể không cần thực hiện việc đó theo cách thủ công. Và đúng vậy, IDE của bạn cần được cập nhật.
poke

1
cũng py -3.7-64hoặcpy -3.7-32
noobninja

1
Lưu ý: pyTrình khởi chạy Python dành cho Windows . Hoặc xem PEP 397 xác định nó. Nó không được cài đặt cho Linux / Mac.
LightCC

39

Cài đặt / nâng cấp Python bằng Trình quản lý gói Windows Chocolatey

Giả sử bạn có Python 2.7.16:

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

... và bạn muốn nâng cấp lên phiên bản 3.xy (hiện tại). Có một cách đơn giản để cài đặt bản cài đặt song song Python 3.xy bằng công cụ quản lý gói của Windows.

Bây giờ Windows hiện đại có quản lý gói, giống như các bản phân phối Debian Linux có apt-get, và RedHat có dnf: chúng tôi có thể làm cho nó hoạt động cho chúng tôi! Nó có tên là Chocolatey .

Chocolatey là gì?

Chocolatey là một công cụ dòng lệnh, có thể tập lệnh dựa trên .NET 4.0 và trình quản lý gói nuget được đưa vào Visual Studio.

Nếu bạn muốn tìm hiểu về Chocolatey và lý do sử dụng nó, mà một số người ở đây đọc phần này có thể thấy đặc biệt hữu ích, hãy truy cập https://chocolaty.org/docs/why

Cài đặt Chocolatey

Để có được Trình quản lý gói Chocolatey, bạn làm theo quy trình được mô tả tại https://chocolaty.org/docs/installation#installing-chocolatey ,

Tôi sẽ tóm tắt nó cho bạn ở đây. Về cơ bản có hai tùy chọn: sử dụng lời nhắc cmd hoặc sử dụng lời nhắc PowerShell.

CMD Prompt Chocolatey cài đặt

Khởi chạy dấu nhắc lệnh quản trị . Trên Windows 10, để thực hiện việc này:

  • Windows+R
  • cmd
  • Nhấn ctrl+ shift+Enter

Nếu bạn không có quyền quản trị viên trên hệ thống, hãy truy cập trang web Chocolatey . Bạn có thể không hoàn toàn may mắn và có thể thực hiện cài đặt cục bộ giới hạn, nhưng tôi sẽ không trình bày điều đó ở đây.

  • Sao chép chuỗi bên dưới vào dấu nhắc lệnh của bạn và nhập 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 sẽ được tải xuống và cài đặt cho bạn như bên dưới:

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

Hoặc Thoát CMD prompt hoặc gõ lệnh sau để tải lại các biến môi trường:

refreshenv

Cài đặt PowerShell Chocolatey

Nếu bạn thích PowerShell với lời nhắc cmd, bạn có thể thực hiện việc này trực tiếp từ đó, tuy nhiên bạn sẽ phải yêu cầu PowerShell chạy với chính sách thực thi tập lệnh thích hợp để nó hoạt động. Trên Windows 10, cách đơn giản nhất mà tôi đã tìm thấy để thực hiện việc này là nhập thông tin sau vào thanh tìm kiếm Cortana bên cạnh nút Windows:

PowerShell.exe

Tiếp theo, nhấp chuột phải vào lựa chọn 'Kết hợp Tốt nhất' trong trình đơn bật lên và chọn 'Chạy với tư cách Quản trị viên'

Bây giờ bạn đang ở trong PowerShell, hy vọng đang chạy với các đặc quyền của Quản trị viên, hãy thực thi các bước sau để cài đặt Chocolatey:

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

PowerShell sẽ tải xuống Chocolatey cho bạn và khởi chạy cài đặt. Nó chỉ mất một vài giây phút. Nó trông giống hệt như cài đặt CMD, có lẽ lưu một số văn bản màu ưa thích.

Hoặc Thoát PowerShell hoặc gõ lệnh sau để tải lại các biến môi trường:

refreshenv

Nâng cấp Python

Lệnh choco giống nhau cho dù bạn sử dụng PowerShell hay dấu nhắc cmd. Khởi chạy yêu thích của bạn bằng cách sử dụng các hướng dẫn như trên. Tôi sẽ sử dụng lời nhắc cmd của quản trị viên:

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

Về cơ bản, chocolatey sẽ cho bạn biết "Này, Python chưa được cài đặt" vì bạn đến từ phiên bản 2.7.x và nó coi phiên bản 2.7 là hoàn toàn riêng biệt. Nó sẽ chỉ cung cấp cho bạn phiên bản mới nhất, 3.xy (tính đến thời điểm viết bài này, 3.7.2, nhưng điều đó sẽ thay đổi sau vài tháng):

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

Hoặc là thoát ra khỏi cmd / Powershell nhanh chóng và nhập lại nó, hoặc sử dụng refreshenv sau đó gõ 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

Lưu ý rằng cài đặt Python gần đây nhất sẽ được thực hiện khi bạn nhập Python tại dòng lệnh. Bạn có thể chạy một trong hai phiên bản bằng cách sử dụng các lệnh sau:

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

Từ đây, tôi khuyên bạn nên sử dụng tiện ích pip Python để cài đặt bất kỳ gói nào bạn cần. Ví dụ: giả sử bạn muốn cài đặt Flask. Các lệnh bên dưới đầu tiên nâng cấp pip, sau đó cài đặt 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

... sẽ thực hiện thủ thuật. Chúc mừng Pythoning!


Phiên bản ngắn của câu trả lời là cài đặt Chocolatey và sau đó refreshv từ dấu nhắc lệnh của bạn, sau đó thực hiện choco install python, nó sẽ cài đặt phiên bản mới nhất của python. Làm mới lại trong cmd và bạn sẽ chạy python mới nhất từ ​​cmd của mình.
Sebastian

Gặp lỗi này trong CMD và POWERSHELL Ngoại lệ gọi "DownloadString" với (các) đối số "1": "Kết nối cơ bản đã bị đóng: Đã xảy ra lỗi không mong muốn khi gửi." Tại dòng: 1 ký tự: 104 + Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient) .DownloadString <<<< (' chocolatey.org/install.ps1' )) + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + CompleteQualifiedErrorId: DotNetMethodException
trustory

tôi có windows 7 bất kỳ giúp đỡ làm thế nào để nâng cấp lên python 3 từ python2 có vẻ như cho than chắc chắn không hoạt động.
Trustory

38

Nếu bạn đang nâng cấp bất kỳ phiên bản Python nào từ 3.xy lên 3.xz (bản vá), chỉ cần truy cập trang tải xuống Python để lấy phiên bản mới nhất và bắt đầu cài đặt. Vì bạn đã cài đặt Python trên máy của mình, trình cài đặt máy sẽ nhắc bạn "Nâng cấp ngay". Nhấp vào nút đó và nó sẽ thay thế phiên bản hiện có bằng một phiên bản mới. Bạn cũng sẽ phải khởi động lại máy tính sau khi cài đặt.

nhập mô tả hình ảnh ở đây

Nếu bạn đang nâng cấp từ 3.x lên 3.y (nhỏ) thì bạn sẽ được nhắc "Cài đặt ngay". Trong trường hợp này, bạn không nâng cấp mà đang cài đặt phiên bản Python mới. Bạn có thể cài đặt nhiều phiên bản trên máy của mình. Chúng sẽ được đặt trong các thư mục khác nhau. Khi bạn có nhiều phiên bản Python trên máy của mình, bạn sẽ cần sử dụng py lanucher để khởi chạy một phiên bản Python cụ thể.

Ví dụ:

py -3,7

hoặc là

py -3,8

Đảm bảo rằng bạn đã cài đặt trình khởi chạy py trên máy của mình. Nó sẽ được cài đặt tự động nếu bạn đang sử dụng cài đặt mặc định của trình cài đặt windows. Bạn luôn có thể kiểm tra nó nếu bạn nhấp vào liên kết "Tùy chỉnh cài đặt" trên cửa sổ cài đặt.

Nếu bạn đã cài đặt một số phiên bản Python trên máy của mình và bạn có một dự án đang sử dụng phiên bản Python trước đó bằng cách sử dụng môi trường ảo, ví dụ: (venv), bạn có thể nâng cấp Python ngay trong venv đó bằng cách sử dụng:

python -m venv - nâng cấp "đường dẫn môi trường ảo của bạn"

Ví dụ: tôi có Python 3.7 trong môi trường ảo ./venv của mình và tôi muốn nâng cấp venv lên Python 3.8, tôi sẽ làm theo

python -m venv - nâng cấp ./venv


1
@ MosheS.you có thể nhận được một danh sách các gói lỗi thời bằng cách sử dụng lệnh sau: danh sách pip --outdated và sau đó cập nhật mỗi gói bằng python -m pip cài đặt --upgrade <package của bạn>
Vlad Bezden

5
Di chuyển từ 3.7.2 sang 3.7.4 (64 bit) trên Windows 10 Tôi không thấy điều này, tôi thấy "Cài đặt ngay bây giờ" nơi bạn thấy "Nâng cấp ngay bây giờ"
dreadledad

3
Tôi vừa chuyển từ 3.7.3 sang 3.7.5 và nhận được thông báo "Nâng cấp ngay". Nếu tôi cố gắng nâng cấp từ 3.7.3 lên 3.8 thì tôi sẽ nhận được "Cài đặt ngay".
Tiago Martins Peres 李大仁

1
@Suncatcher bạn nói đúng, đó là những gì tôi đã mô tả phần "Nếu bạn muốn nâng cấp từ 3.x lên 3.y thì ...". Vui lòng đọc phần trên.
Vlad Bezden

1
@Suncatcher, cảm ơn bạn đã phản hồi. Tôi đã cập nhật mô tả.
Vlad Bezden

4

Python 2.x và Python 3.x là khác nhau. Nếu bạn muốn tải xuống phiên bản Python 2 mới hơn, bạn chỉ cần tải xuống và cài đặt phiên bản mới hơn.

Nếu bạn muốn cài đặt Python 3, bạn có thể cài đặt Python 3 riêng biệt, sau đó thay đổi đường dẫn cho Python 2.x thành Python 3.x trong Bảng điều khiển> Tất cả các mục bảng điều khiển> Hệ thống> Cài đặt hệ thống nâng cao> Biến môi trường.


Tôi muốn loại bỏ hoàn toàn Python 2.7.11 vì tôi không có kế hoạch hỗ trợ nó. Vì vậy, tôi nên loại bỏ hoàn toàn nó. Đúng ? "Chương trình và Tính năng" không hiển thị Python nên tôi không biết làm cách nào để xóa nó. Tôi có nên sử dụng pip không, và làm thế nào? Chỉ xóa thư mục Python có phải là một ý kiến ​​hay không? Còn tất cả các gói cũ đã được cài đặt với nó (nếu có) thì sao, làm cách nào để gỡ cài đặt chúng?
Moshe S.

@MosheS. Tôi không nghĩ rằng nó thực sự chiếm nhiều không gian như vậy, nhưng nếu bạn muốn dọn dẹp thì hãy bằng mọi cách. Tất cả chúng phải nằm trong cùng một thư mục, bạn có thể gỡ cài đặt khỏi Chương trình và Tính năng của bảng điều khiển. Cả Python 2.7 và 3.4 của tôi đều ở trong đó. Gỡ cài đặt từ đó sẽ xóa tất cả các gói Nếu bạn thực sự không thể tìm thấy nó, bạn có thể thử xóa toàn bộ thư mục. Khi bạn tải xuống Python 3 và nếu nó không hoạt động, hãy chỉnh sửa đường dẫn như tôi đã trả lời ở trên, đó có lẽ sẽ là vấn đề chính, nếu có.
Julian Chan

3

Vào năm 2019, bạn có thể cài đặt bằng chocolatey . Mở cmd hoặc powershell của bạn, nhập "choco install python".


-1

Cách dễ nhất để cài đặt phiên bản Python mới nhất (nếu bạn đã gỡ cài đặt các phiên bản khác) là nhập Pythonvào PowerShell.

Thao tác này sẽ mở Microsoft Store và bạn nhấp vào Getnút.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.