ฉันจะอัพเกรดการติดตั้ง Python ใน Windows 10 ได้อย่างไร


113

ฉันติดตั้ง Python 2.7.11 บนหนึ่งในสถานี LAB ของฉัน ฉันต้องการอัพเกรด Python เป็นอย่างน้อย 3.5

ฉันควรทำอย่างไร? ฉันควรจะถอนการติดตั้ง 2.7.11 ทั้งหมดและติดตั้งใหม่หรือไม่? มีวิธีอัพเดทไหม การอัปเดตเป็นความคิดที่ดีหรือไม่?


โพสต์ที่เก่ากว่านี้อาจช่วยคุณได้? stackoverflow.com/questions/15102943/how-to-update-python Br.
MikeL

python2 และ python3 ควรถือว่าเป็นภาษาที่แตกต่างกันเช่น C # แตกต่างจาก C ++
WhatsThePoint

คำตอบ:


97

Python เวอร์ชันรองทุกเวอร์ชันซึ่งเป็นเวอร์ชัน 3.x และ 2.x จะติดตั้งเคียงข้างกันกับเวอร์ชันอื่น ๆ บนคอมพิวเตอร์ของคุณ เฉพาะเวอร์ชันแพตช์เท่านั้นที่จะอัปเกรดการติดตั้งที่มีอยู่

ดังนั้นหากคุณต้องการเก็บ Python 2.7 ที่ติดตั้งไว้รอบ ๆ ให้ปล่อยและติดตั้งเวอร์ชันใหม่โดยใช้โปรแกรมติดตั้ง หากคุณต้องการกำจัด Python 2.7 คุณสามารถถอนการติดตั้งก่อนหรือหลังการติดตั้งเวอร์ชันที่ใหม่กว่าได้ - ไม่มีความแตกต่างกับสิ่งนี้

การติดตั้ง Python 3 ปัจจุบันมาพร้อมกับpy.exeตัวเรียกใช้งานซึ่งโดยค่าเริ่มต้นจะติดตั้งลงในไดเร็กทอรีระบบ สิ่งนี้ทำให้พร้อมใช้งานจาก PATH ดังนั้นคุณสามารถเรียกใช้โดยอัตโนมัติจากเชลล์ใดก็ได้เพียงแค่ใช้pyแทนpythonคำสั่ง เพื่อหลีกเลี่ยงไม่ให้คุณต้องติดตั้ง Python ปัจจุบันลงใน PATH ด้วยตัวเอง ด้วยวิธีนี้คุณสามารถติดตั้ง Python หลาย ๆ ตัวเคียงข้างกันได้อย่างง่ายดายโดยที่พวกมันไม่รบกวนกัน เมื่อทำงานให้ใช้py script.pyแทนpython script.pyการใช้ตัวเรียกใช้งาน คุณยังสามารถระบุเวอร์ชันโดยใช้ตัวอย่างpy -3หรือpy -3.6เพื่อเปิดใช้เวอร์ชันเฉพาะมิฉะนั้นตัวเรียกใช้งานจะใช้ค่าเริ่มต้นปัจจุบัน (ซึ่งโดยปกติจะเป็น 3.x ล่าสุด)

เมื่อใช้ตัวเรียกใช้งานคุณยังสามารถเรียกใช้สคริปต์ Python 2 ได้ (ซึ่งมักจะไม่เข้ากันกับไวยากรณ์ของ Python 3) หากคุณตัดสินใจที่จะคงการติดตั้ง Python 2.7 ไว้ เพียงแค่ใช้py -2 script.pyเพื่อเปิดสคริปต์


สำหรับแพ็คเกจ PyPI การติดตั้ง Python ทุกครั้งจะมาพร้อมกับโฟลเดอร์ของตัวเองที่ติดตั้งโมดูลไว้ ดังนั้นหากคุณติดตั้งเวอร์ชันใหม่และคุณต้องการใช้โมดูลที่คุณติดตั้งไว้สำหรับเวอร์ชันก่อนหน้าคุณจะต้องติดตั้งก่อนสำหรับเวอร์ชันใหม่ รุ่นปัจจุบันของการติดตั้งยังมีให้คุณติดตั้งpip; มันถูกเปิดใช้งานโดยค่าเริ่มต้นดังนั้นคุณจึงมีpipสำหรับการติดตั้งทุกครั้ง เว้นแต่คุณจะเพิ่มการติดตั้ง Python ลงใน PATH อย่างชัดเจนคุณไม่สามารถใช้งานpipได้ โชคดีที่คุณยังสามารถเพียงแค่ใช้py.exeตัวเปิดสำหรับการนี้: วิ่งpy -m pip pipดังนั้นสำหรับตัวอย่างเช่นการติดตั้งซุปสวยหลาม 3.6 py -3.6 -m pip install beautifulsoup4คุณสามารถเรียกใช้


1
คุณจะแนะนำให้ทำเช่นนั้นบนสถานีที่ฉันกำลังใช้เพื่อพัฒนาสคริปต์ได้อย่างไร อย่างไรก็ตามฉันมี 3.5.2 (Windows 7 64 บิต)
Moshe S.

1
เพียงติดตั้งเวอร์ชันใหม่เคียงข้างกัน ไม่จำเป็นต้องลบเวอร์ชันเก่า การมีเวอร์ชันเก่าอาจช่วยให้คุณสามารถย้ายสคริปต์ที่มีอยู่จาก Python 2 ไปยัง Python 3 ได้ดังนั้นคุณยังสามารถเรียกใช้สคริปต์ดั้งเดิมได้
โผล่

1
โปรแกรมติดตั้งจะให้ตัวเลือกในการตั้งค่า PATH ให้คุณดังนั้นคุณอาจไม่จำเป็นต้องดำเนินการด้วยตนเอง และใช่ IDE ของคุณต้องได้รับการอัปเดต
โผล่

1
ด้วยpy -3.7-64หรือpy -3.7-32
noobninja

1
หมายเหตุ: pyเป็นตัวเปิดหลามสำหรับ Windows หรือดูPEP 397ที่กำหนด ไม่ได้รับการติดตั้งสำหรับ Linux / Mac
LightCC

40

หากคุณกำลังอัปเกรดเวอร์ชัน Python 3.xy เป็น 3.xz (แพทช์) เพียงไปที่หน้าดาวน์โหลด Pythonเพื่อรับเวอร์ชันล่าสุดและเริ่มการติดตั้ง เนื่องจากคุณได้ติดตั้ง Python ไว้แล้วในโปรแกรมติดตั้งเครื่องของคุณจะแจ้งให้คุณ "อัปเกรดทันที" คลิกที่ปุ่มนั้นและจะแทนที่เวอร์ชันที่มีอยู่ด้วยเวอร์ชันใหม่ คุณจะต้องรีสตาร์ทคอมพิวเตอร์หลังการติดตั้ง

ใส่คำอธิบายภาพที่นี่

หากคุณกำลังอัปเกรดจาก 3.x เป็น 3.y (เล็กน้อย) คุณจะได้รับข้อความ "ติดตั้งทันที" ในกรณีนี้คุณไม่ได้อัปเกรด แต่คุณกำลังติดตั้ง Python เวอร์ชันใหม่ คุณสามารถติดตั้งได้มากกว่าหนึ่งเวอร์ชันในเครื่องของคุณ พวกเขาจะอยู่ในไดเรกทอรีที่แตกต่างกัน เมื่อคุณมี Python มากกว่าหนึ่งเวอร์ชันในเครื่องของคุณคุณจะต้องใช้py lanucherเพื่อเปิด Python เวอร์ชันเฉพาะ

ตัวอย่างเช่น:

py -3.7

หรือ

py -3.8

ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งpy launcherไว้ในเครื่องของคุณ จะถูกติดตั้งโดยอัตโนมัติหากคุณใช้การตั้งค่าเริ่มต้นของโปรแกรมติดตั้ง windows คุณสามารถตรวจสอบได้ตลอดเวลาหากคุณคลิกที่ลิงก์ "ปรับแต่งการติดตั้ง" บนหน้าต่างการติดตั้ง

หากคุณมี Python หลายเวอร์ชันติดตั้งไว้ในเครื่องของคุณและคุณมีโปรเจ็กต์ที่ใช้ Python เวอร์ชันก่อนหน้าโดยใช้สภาพแวดล้อมเสมือนเช่น (venv) คุณสามารถอัพเกรด Python ได้ใน venv โดยใช้:

python -m venv - อัปเกรด "เส้นทางสภาพแวดล้อมเสมือนของคุณ"

ตัวอย่างเช่นฉันมี Python 3.7 ในสภาพแวดล้อมเสมือน. /venv ของฉันและฉันต้องการอัพเกรด venv เป็น Python 3.8 ฉันจะทำตาม

python -m venv - อัปเกรด ./venv


1
@ MosheS คุณสามารถรับรายการแพ็คเกจที่ล้าสมัยได้โดยใช้คำสั่งต่อไปนี้: รายการ pip - ล้าสมัยแล้วอัปเดตแต่ละแพ็คเกจโดยการติดตั้ง python -m pip - อัปเกรด <แพ็คเกจของคุณ>
Vlad Bezden เมื่อ

5
เปลี่ยนจาก 3.7.2 เป็น 3.7.4 (64 บิต) ใน Windows 10 ฉันไม่เห็นสิ่งนี้ฉันเห็น "ติดตั้งทันที" ซึ่งคุณเห็น "อัปเกรดทันที"
dumbledad

3
ฉันเพิ่งย้ายจาก 3.7.3 เป็น 3.7.5 และได้รับข้อความ "อัปเกรดทันที" หากฉันพยายามอัปเกรดจาก 3.7.3 เป็น 3.8 ฉันจะได้รับ "ติดตั้งทันที"
Tiago Martins Peres 李大仁

1
@Suncatcher คุณพูดถูกนั่นคือสิ่งที่ฉันอธิบายส่วน "ถ้าคุณต้องการอัพเกรดจาก 3.x เป็น 3.y แล้ว ... " โปรดอ่านด้านบน
Vlad Bezden

1
@Suncatcher ขอบคุณสำหรับคำติชม ฉันอัปเดตคำอธิบาย
Vlad Bezden

39

การติดตั้ง / อัพเกรด Python โดยใช้ Chocolatey Windows Package Manager

สมมติว่าคุณมี Python 2.7.16:

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

... และคุณต้องการอัปเกรดเป็น 3.xy เวอร์ชัน (ปัจจุบัน) มีวิธีง่ายๆในการติดตั้ง Python 3.xy แบบขนานโดยใช้เครื่องมือจัดการแพ็คเกจ Windows

ตอนนี้ Windows สมัยใหม่มีการจัดการแพคเกจเช่นเดียวกับ Debian Linux ที่มี apt-get และ RedHat มี dnf: เราสามารถทำให้มันทำงานให้เราได้! มันเรียกว่าchocolatey

Chocolatey คืออะไร?

Chocolatey เป็นเครื่องมือบรรทัดคำสั่งแบบสคริปต์ที่ใช้. NET 4.0 และตัวจัดการแพคเกจ nuget ที่อบไว้ใน Visual Studio

หากคุณต้องการเรียนรู้เกี่ยวกับ Chocolatey และเหตุใดจึงควรใช้ซึ่งบางส่วนที่อ่านอยู่นี้อาจพบว่ามีประโยชน์อย่างยิ่งโปรดไปที่https://chocolatey.org/docs/why

การติดตั้ง Chocolatey

ที่จะได้รับแพคเกจผู้จัดการ chocolatey คุณทำตามขั้นตอนที่อธิบายไว้ในhttps://chocolatey.org/docs/installation#installing-chocolatey ,

ฉันจะสรุปให้คุณที่นี่ โดยทั่วไปมีสองตัวเลือก: ใช้พรอมต์ cmd หรือใช้พรอมต์ PowerShell

การติดตั้ง CMD Prompt Chocolatey

เรียกใช้พรอมต์คำสั่งการดูแลระบบ ใน Windows 10 ให้ดำเนินการดังนี้:

  • Windows+R
  • พิมพ์cmd
  • กดctrl+ shift+Enter

หากคุณไม่ได้มีสิทธิ์ของผู้ดูแลระบบให้ไปที่เว็บไซต์ chocolatey คุณอาจไม่โชคดีอย่างสมบูรณ์และสามารถทำการติดตั้งในพื้นที่ได้อย่าง จำกัด แต่ฉันจะไม่กล่าวถึงตรงนี้

  • คัดลอกสตริงด้านล่างลงในพรอมต์คำสั่งของคุณแล้วพิมพ์ 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 จะดาวน์โหลดและติดตั้งให้คุณดังนี้:

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

ทั้งสองออกจาก CMD พรอมต์หรือพิมพ์คำสั่งต่อไปนี้เพื่อโหลดตัวแปรสภาพแวดล้อม:

refreshenv

การติดตั้ง PowerShell Chocolatey

หากคุณต้องการ PowerShell กับ cmd prompt คุณสามารถทำได้โดยตรงจากที่นั่นอย่างไรก็ตามคุณจะต้องบอกให้ PowerShell ทำงานด้วยนโยบายการดำเนินการสคริปต์ที่เหมาะสมเพื่อให้มันทำงานได้ ใน Windows 10 วิธีที่ง่ายที่สุดที่ฉันพบคือพิมพ์สิ่งต่อไปนี้ลงในแถบค้นหา Cortana ถัดจากปุ่ม Windows:

PowerShell.exe

จากนั้นคลิกขวาที่ตัวเลือก 'Best Match' ในเมนูที่ปรากฏขึ้นและเลือก 'Run as Administrator'

ตอนนี้คุณอยู่ใน PowerShell แล้วหวังว่าจะทำงานด้วยสิทธิ์ของผู้ดูแลระบบดำเนินการต่อไปนี้เพื่อติดตั้ง Chocolatey:

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

PowerShell จะดาวน์โหลด Chocolatey ให้คุณและเริ่มการติดตั้ง ใช้เวลาเพียงไม่กี่อึดใจ ดูเหมือนว่าการติดตั้ง CMD อาจบันทึกข้อความสีแฟนซี

ทั้งสองออกจาก PowerShell หรือพิมพ์คำสั่งต่อไปนี้เพื่อโหลดตัวแปรสภาพแวดล้อม:

refreshenv

การอัพเกรด Python

คำสั่ง choco จะเหมือนกันไม่ว่าคุณจะใช้ PowerShell หรือพรอมต์ cmd เปิดตัวรายการโปรดของคุณโดยใช้คำแนะนำด้านบน ฉันจะใช้พรอมต์ cmd ของผู้ดูแลระบบ:

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

โดยพื้นฐานแล้ว Chocolatey จะบอกคุณว่า "เฮ้ไม่ได้ติดตั้ง Python" เนื่องจากคุณมาจาก 2.7.x และถือว่าเวอร์ชัน 2.7 แยกกันโดยสิ้นเชิง มันเป็นเพียงจะให้คุณรุ่นล่าสุด, 3.xy (ขณะที่เขียนนี้ 3.7.2 แต่ที่จะเปลี่ยนในไม่กี่เดือน):

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

ทั้งสองออกจาก cmd / การ Powershell รวดเร็วและกลับเข้ามาหรือใช้ refreshenv แล้วพิมพ์ 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

โปรดทราบว่าการติดตั้ง Python ล่าสุดจะเข้ามาแทนที่เมื่อคุณพิมพ์ Python ที่บรรทัดคำสั่ง คุณสามารถเรียกใช้เวอร์ชันใดก็ได้โดยใช้คำสั่งต่อไปนี้:

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

จากที่นี่ฉันขอแนะนำให้คุณใช้ยูทิลิตี้Python pipเพื่อติดตั้งแพ็คเกจที่คุณต้องการ ตัวอย่างเช่นสมมติว่าคุณต้องการติดตั้ง Flask คำสั่งด้านล่างอัพเกรด pip ก่อนจากนั้นติดตั้ง 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

... จะทำเคล็ดลับ. มีความสุข Pythoning!


คำตอบสั้น ๆ คือติดตั้ง Chocolatey จากนั้นจึงรีเฟรชจากพรอมต์คำสั่งของคุณจากนั้นทำการติดตั้ง choco python ซึ่งจะติดตั้ง python เวอร์ชันล่าสุด ทำการ refreshhenv อีกครั้งใน cmd และคุณควรเรียกใช้ python ล่าสุดจาก cmd ของคุณ
Sebastian

การรับข้อผิดพลาดนี้ใน CMD และข้อยกเว้น POWERSHELL ที่เรียก "DownloadString" โดยมีอาร์กิวเมนต์ "1": "การเชื่อมต่อพื้นฐานถูกปิด: เกิดข้อผิดพลาดที่ไม่คาดคิดในการส่ง" ที่บรรทัด: 1 ถ่าน: 104 + Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient) .DownloadString <<<< (' chocolatey.org/install.ps1' )) + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: DotNetMethodException
trustory

ฉันมี windows 7 วิธีใด ๆ ในการอัพเกรดเป็น python 3 จาก python2 ดูเหมือนว่าจะไม่ทำงานอย่างสมบูรณ์
trustory

4

Python 2.x และ Python 3.x แตกต่างกัน หากคุณต้องการดาวน์โหลด Python 2 เวอร์ชันใหม่กว่าคุณสามารถดาวน์โหลดและติดตั้งเวอร์ชันที่ใหม่กว่าได้

หากคุณต้องการติดตั้ง Python 3 คุณสามารถติดตั้ง Python 3 แยกกันจากนั้นเปลี่ยนเส้นทางสำหรับ Python 2.x เป็น Python 3.x ในแผงควบคุม> รายการแผงควบคุมทั้งหมด> ระบบ> การตั้งค่าระบบขั้นสูง> ตัวแปรสภาพแวดล้อม


ฉันชอบที่จะลบ Python 2.7.11 อย่างสมบูรณ์เนื่องจากฉันไม่ได้วางแผนที่จะรองรับ ดังนั้นฉันควรลบมันให้หมด ใช่มั้ย? "โปรแกรมและคุณลักษณะ" ไม่แสดง Python ดังนั้นฉันจึงไม่รู้วิธีลบออก ฉันควรใช้ pip และทำอย่างไร? เป็นความคิดที่ดีที่จะลบโฟลเดอร์ Python หรือไม่? แล้วแพ็คเกจเก่าทั้งหมดที่ติดตั้งมา (ถ้ามี) ฉันจะถอนการติดตั้งได้อย่างไร?
Moshe S.

@ โมเชส. ฉันไม่คิดว่ามันจะใช้พื้นที่มากขนาดนั้น แต่ถ้าคุณต้องการทำความสะอาดโดยทั้งหมด ทั้งหมดนี้ควรอยู่ในโฟลเดอร์เดียวกันคุณอาจถอนการติดตั้งจากโปรแกรมแผงควบคุมและคุณลักษณะได้ ทั้ง Python 2.7 และ 3.4 ของฉันอยู่ในนั้น การถอนการติดตั้งจากที่นั่นจะลบแพ็คเกจทั้งหมดหากคุณไม่พบจริงๆคุณสามารถลองลบทั้งโฟลเดอร์ เมื่อคุณดาวน์โหลด Python 3 และหากไม่ได้ผลให้ไปแก้ไขเส้นทางตามที่ฉันตอบไว้ข้างต้นนั่นอาจเป็นปัญหาหลักถ้ามี
Julian Chan

3

ใน 2019 คุณสามารถติดตั้งใช้chocolatey เปิด cmd หรือ powershell ของคุณพิมพ์ "choco install python"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.