Cài đặt/nâng cấp Python bằng cách sử dụng Trình quản lý gói Windows sô cô la
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.x.y [hiện tại]. Có một cách đơn giản để cài đặt cài đặt song song Python 3.x.y bằng công cụ quản lý gói 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 Linux Debian có apt-get và Redhat có DNF: chúng ta có thể đưa nó vào hoạt động cho chúng ta! Nó được gọi là sô cô la.Chocolatey.
Sô cô la là gì?
Sô cô la là một công cụ dòng lệnh có thể viết kịch bản dựa trên .NET 4.0 và trình quản lý gói Nuget được nướng vào Visual Studio.
Nếu bạn muốn tìm hiểu về sô cô la và tại sao sử dụng nó, mà một số ở đây đọc nó có thể thấy đặc biệt hữu ích, hãy truy cập //chocolatey.org/docs/why
Lắp đặt sô cô la
Để có được Trình quản lý gói sô cô la, bạn theo một quy trình được mô tả tại //chocolatey.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 dấu nhắc CMD hoặc sử dụng dấu nhắc PowerShell.
CMD Prompt Chocolate Installing
Khởi chạy một dấu nhắc lệnh hành chính. Trên Windows 10, để làm điều này:
- Windows + r
- Loại CMD
- Nhấn Ctrl + ⇧ Shift + ↵ Trả về
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 sô cô la. Bạn có thể không hoàn toàn không may mắn và có thể thực hiện cài đặt cục bộ hạn chế, nhưng tôi sẽ không bao gồm đ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['//chocolatey.org/install.ps1']]" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Sô cô la sẽ được tải xuống và cài đặt cho bạn như dưới đây:
Getting latest version of the Chocolatey package for download.
Getting Chocolatey from //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
Thoát khỏi dấu nhắc CMD hoặc nhập lệnh sau để tải lại các biến môi trường:
refreshenv
Cài đặt sô cô la PowerShell
Nếu bạn thích PowerShell hơn lời nhắc CMD, bạn có thể thực hiện điều này trực tiếp từ đó, tuy nhiên bạn sẽ phải nói với PowerShell để chạy với chính sách thực thi tập lệnh thích hợp để làm cho nó hoạt động. Trên Windows 10, cách đơn giản nhất tôi đã tìm thấy để làm điều này là nhập các phần 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 'phù hợp nhất' trong menu bật lên và chọn 'Chạy làm quản trị viên'
Bây giờ bạn đang ở trong PowerShell, hy vọng chạy với các đặc quyền của quản trị viên, thực hiện các mục sau để cài đặt Chocolateey:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex [[New-Object System.Net.WebClient].DownloadString['//chocolatey.org/install.ps1']]
PowerShell sẽ tải xuống sô cô la cho bạn và khởi chạy cài đặt. Nó chỉ mất một vài khoảnh khắc. Nó trông giống hệt như cài đặt CMD, lưu có lẽ một số văn bản màu lạ mắt.
Thoát PowerShell hoặc nhập lệnh sau để tải lại các biến môi trường:
refreshenv
Nâng cấp Python
Lệnh Choco là như nhau cho dù bạn sử dụng PowerShell hay CMD Prompt. 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 dấu nhắc CMD quản trị viên:
C:\WINDOWS\system32>choco upgrade python -y
Về cơ bản, sô cô la sẽ cho bạn biết "Này, Python chưa được cài đặt" vì bạn đến từ 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.x.y [kể từ khi viết này, 3.7.2, nhưng điều đó sẽ thay đổi trong một 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 thoát ra khỏi dấu nhắc CMD/PowerShell và nhập lại nó, hoặc sử dụng Refreshenv sau đó nhập 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 bây giờ sẽ tiếp quản khi bạn nhập Python vào 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:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex [[New-Object System.Net.WebClient].DownloadString['//chocolatey.org/install.ps1']]" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
0Từ đây tôi khuyên bạn nên sử dụng tiện ích Python Pip để 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 bình. Các lệnh bên dưới lần đầu tiên nâng cấp PIP, sau đó cài đặt bình
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex [[New-Object System.Net.WebClient].DownloadString['//chocolatey.org/install.ps1']]" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
1... sẽ làm thủ thuật. Happy Pythoning!