วิธีติดตั้งทั้ง Python 2.x และ Python 3.x ใน Windows


230

ฉันทำการเขียนโปรแกรมส่วนใหญ่ใน Python 3.x บน Windows 7 แต่ตอนนี้ฉันต้องใช้ Python Imaging Library (PIL), ImageMagick และ wxPython ซึ่งทั้งหมดต้องใช้ Python 2.x

ฉันสามารถติดตั้งทั้ง Python 2.x และ Python 3.x ใน Windows 7 ได้หรือไม่ เมื่อฉันเรียกใช้สคริปต์ฉันจะ "เลือก" เวอร์ชันใดของ Python ที่ควรรันได้อย่างไร โปรแกรมดังกล่าวจะสามารถจัดการกับ Python ได้หลายเวอร์ชันพร้อมกันหรือไม่ ฉันค้นหาชั่วโมงและเวลาเพื่อหาวิธีการทำสิ่งนี้เพื่อประโยชน์

ขอบคุณ



2
ใช่อย่างที่ @NickT พูดว่าง่ายที่สุด น่าเสียดายที่ไม่มีคำตอบด้านล่างใด ๆ ที่ให้วิธีการที่ง่ายและตรงไปตรงมา (ตัวที่กล่าวถึงเวอร์ชั่น 3.3 ใกล้เคียงที่สุด) สำหรับคำตอบที่ดีกว่าให้ดูคำตอบที่ได้รับการยอมรับภายใต้คำถามซ้ำกัน: stackoverflow.com/a/17245543/1593924 โดยสรุปให้ใช้ตัวเปิด "py" ตัวใหม่ไม่ว่าจะมีหรือไม่มี พารามิเตอร์ -3 และพิจารณาเพิ่ม shebangs (#!) ในสคริปต์ของคุณเพื่อที่คุณจะไม่ต้องใช้พารามิเตอร์
Jon Coombs

1
นอกจากนี้บางส่วนพบรายละเอียดที่ฉันโพสต์ไว้ที่นี่มีประโยชน์: stackoverflow.com/a/13533958/1593924
Jon Coombs

คำตอบ:


150

ฉันพบว่าวิธีที่เป็นทางการในการทำเช่นนี้มีดังนี้:

เพียงติดตั้ง Python สองเวอร์ชัน (หรือมากกว่าโดยใช้โปรแกรมติดตั้ง) บน Windows 7 (สำหรับฉันใช้กับ 3.3 และ 2.7)

ทำตามวิธีการด้านล่างเปลี่ยนพารามิเตอร์ตามความต้องการของคุณ

สร้างตัวแปรสภาพแวดล้อมต่อไปนี้ (เป็นค่าเริ่มต้นเมื่อดับเบิลคลิก):

Name:  PY_PYTHON
Value: 3

หากต้องการเปิดใช้สคริปต์ในล่ามที่เฉพาะเจาะจงเพิ่ม shebang ต่อไปนี้ (เริ่มต้นของสคริปต์)

#! python2

ในการรันสคริปต์โดยใช้ล่ามที่เฉพาะเจาะจงให้ใช้คำสั่งพรอมต์ต่อไปนี้:

> py -2 MyScript.py

หากต้องการเปิดล่ามที่เฉพาะเจาะจง:

> py -2

ในการเรียกใช้ล่ามเริ่มต้น (กำหนดโดยตัวแปร PY_PYTHON):

> py

ทรัพยากร

เอกสารประกอบ: การใช้ Python บน Windows

PEP 397 - ตัวเปิด Python สำหรับ Windows


8
นอกจากนี้ในการใช้easy_installหรือpipc:\python35;c:\python35\scripts;c:\python27\scripts;กับทั้งสองรุ่นเปลี่ยนเส้นทางที่จะรวม นี้จะช่วยให้การใช้งานของpip2/ pip3และeasy_install-2.7/ easy_install-3.5แทนและpip easy_install
rdtsc

1
จะไม่ทำงานกับโปรแกรมต่างๆที่ไม่ได้จัดส่ง Python ของตัวเองและยืนยันในการใช้เวอร์ชันระบบและไม่เคารพตัวเรียกใช้งาน
Jonathan Baldwin

1
ไม่ไม่ต้องเพิ่ม Python ใด ๆ ลงในพา ธ py -m pip install ...ใช้ เพิ่มสวิตช์หลังจากนั้นpyเพื่อเลือก Python ที่จะเรียกใช้ pip ตามด้านบน
Mark Tolonen

75

สิ่งที่ฉันทำคือดาวน์โหลดทั้ง 2.7.6 และ 3.3.4 Python 3.3.4 มีตัวเลือกในการเพิ่มเส้นทางไปยังตัวแปรสภาพแวดล้อมเพื่อให้เสร็จสิ้น โดยพื้นฐานแล้วฉันเพิ่งเพิ่ม Python 2.7.6 ด้วยตนเอง

ทำอย่างไร...

  1. เริ่ม> ในประเภทการค้นหาในสภาพแวดล้อมเลือก "แก้ไขตัวแปรสภาพแวดล้อมในบัญชีของคุณ" 1

  2. เลื่อนลงไปที่เส้นทางเลือกเส้นทางคลิกแก้ไข

  3. เพิ่ม C: \ Python27; ดังนั้นคุณควรมีเส้นทางไปยัง Python ทั้งสองรุ่น แต่ถ้าคุณไม่ทำเช่นนี้คุณสามารถแก้ไขได้โดยง่ายเพื่อที่คุณจะได้ ..... C: \ Python27; C: \ Python33;

  4. นำทางไปยังโฟลเดอร์ Python27 ใน C: \ และเปลี่ยนชื่อสำเนาของ python.exe เป็น python2.exe

  5. นำทางไปยังโฟลเดอร์ Python34 ใน C: \ และเปลี่ยนชื่อสำเนาของ python.exe เป็น python3.exe

  6. ทดสอบ: เปิดพรอมต์คำสั่งและพิมพ์ python2 .... BOOM! Python 2.7.6 ออกจาก

  7. ทดสอบ: เปิดพรอมต์คำสั่งและพิมพ์ python3 .... BOOM! Python 3.4.3 ออกจาก

หมายเหตุ: (เพื่อไม่ให้แบ่งคำสั่ง pip ในขั้นตอนที่ 4 และ 5 ให้เก็บสำเนาของ python.exe ไว้ในไดเรกทอรีเดียวกับไฟล์ที่ถูกเปลี่ยนชื่อ)


43
สิ่งนี้จะทำลายทั้ง pip2 และ pip3! อย่าแทนที่หลามคัดลอกและเปลี่ยนชื่อไฟล์ที่สองเป็น python2 / python3
brunofitas

1
เพียงแค่คำเตือนฉันไม่สามารถถอนการติดตั้ง python จนกว่าฉันจะเปลี่ยนชื่อกลับ คำแนะนำของฉันคือการทำสำเนาและเปลี่ยนชื่อไฟล์เหล่านั้น แต่ทิ้งไฟล์ python.exe ดั้งเดิมไว้คนเดียว ** ตามที่ bruno พูดถึง
Logic1

2
คุณสามารถประมวลผลคำติชม brunofitas ในคำตอบได้หรือไม่?
030

ใช่ฉันเพิ่งเปลี่ยนชื่อ python.exe ในการติดตั้ง Python3 เป็น python3.exe ฉันคิดว่าสิ่งนี้จะเกิดขึ้นโดยอัตโนมัติกับ python ในสภาพแวดล้อม * nix แน่นอนว่าไม่มีไฟล์. exe แต่มีโปรแกรม python2 และ python3 :)
user3870315

หากคุณมี
ไลบรารี่

51

ฉันมีหลายรุ่นใน windows ฉันเพิ่งเปลี่ยนชื่อ exe ของรุ่นที่ฉันไม่ได้เป็นค่าเริ่มต้น

python.exe -> python26.exe

pythonw.exe -> pythonw26.exe

สำหรับตัวติดตั้งแพ็คเกจตัวติดตั้ง exe ส่วนใหญ่อนุญาตให้คุณเลือกการติดตั้งหลามเพื่อเพิ่มแพ็คเกจด้วย สำหรับการติดตั้งแบบแมนนวลให้ตรวจสอบตัวเลือก --prefix เพื่อกำหนดตำแหน่งที่ควรติดตั้งแพ็คเกจ:

http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme


สิ่งนี้ใช้ได้ผล ก่อนทำการเปลี่ยนแปลงนี้เมื่อฉันพยายามเรียกใช้โปรแกรมใน Python 2.7 มันยังคงทำงานใน Python 3.1 (อาจเป็นเพราะ Windows 7 ไม่สามารถจัดการสองโปรแกรมที่แตกต่างกันด้วยชื่อเดียวกัน) หลังจากเปลี่ยนชื่อ exe ตามที่แสดงทุกอย่างเป็นไปด้วยดี
dln385

4
@ dln385: หากตอบคำถามของคุณคุณควรยอมรับโดยคลิกเครื่องหมายถูก
dappawit

1
สิ่งนี้ได้ผลกับฉันด้วย ฉันมีข้อขัดแย้งระหว่าง Python 2.7 และ Python 3.2 เนื่องจากฉันได้ติดตั้ง Python 3.2 ก่อน (และตั้งค่าอย่างเหมาะสมเป็นตัวแปรด้านสิ่งแวดล้อม) ฉันไม่สามารถเข้าถึง Python 2.7 ได้ในพร้อมท์ (แทนฉันได้ Python 3.2) ฉันต้องการใช้เป็นค่าเริ่มต้น Python 2.7 ดังนั้นฉันเปลี่ยน python.exe เป็น python3.2.exe และเก็บ python.exe ของ Python 2.7 ไว้โดยไม่เปลี่ยนแปลง นั่นเป็นการหลอกลวง
Robert Smith

ฉันยังไม่ได้ติดตั้ง python3 ใหม่บนหน้าต่างในชั่วขณะหนึ่ง แต่รุ่นผมมีรวมถึง pip เป็นและpip3 pip3.4(รวมถึงมันpipด้วย แต่ฉันจะคิดว่าการลบที่ควรแก้ไขข้อขัดแย้งใด ๆ กับ python2) ที่จริงฉันไม่มีC:\Python34\ScriptsในตัวเองPathดังนั้นฉันจึงไม่ได้มีปัญหาเกี่ยวกับ pip ...
monkut

30

หากคุณใช้ Anaconda Python คุณสามารถติดตั้งสภาพแวดล้อมต่าง ๆ ได้อย่างง่ายดาย

สมมติว่าคุณติดตั้ง Anaconda Python 2.7 และคุณต้องการสภาพแวดล้อมของ python 3.4:

conda create -n py34 python=3.4 anaconda

จากนั้นเพื่อเปิดใช้งานสภาพแวดล้อม:

activate py34

และยกเลิกการใช้งาน:

deactivate py34

(สำหรับ Linux คุณควรใช้source activate py34)

ลิงค์:

ดาวน์โหลด Anaconda Python

คำแนะนำสำหรับสภาพแวดล้อม


IMO conda เป็นวิธีที่ดีที่สุดในการยุ่งกับการติดตั้ง Python ที่แตกต่างกัน ฉันทำสิ่งต่าง ๆ มากมายก่อนที่จะย้ายไปที่อนาคอนดา
jrinker

11

ในการติดตั้งและเรียกใช้ Python เวอร์ชันใดก็ได้ในระบบเดียวกันให้ทำตามคำแนะนำของฉันด้านล่าง


ตัวอย่างเช่นคุณต้องการติดตั้ง Python 2.x และ Python 3.x ในระบบ Windows เดียวกัน

  1. ติดตั้งไบนารีทั้งสองเผยแพร่ได้ทุกที่ที่คุณต้องการ

    • เมื่อได้รับแจ้งอย่าลงทะเบียนส่วนขยายของไฟล์และ
    • ห้ามเพิ่มโดยอัตโนมัติในตัวแปรสภาพแวดล้อม PATH
  2. การรันคำสั่งpythonที่สามารถเรียกใช้งานได้ซึ่งพบได้ครั้งแรกใน PATH กล่าวอีกนัยหนึ่งให้เพิ่มไดเรกทอรี Python ด้วยตนเอง pythonหนึ่งคุณเพิ่มแรกที่จะได้รับเลือกเมื่อคุณพิมพ์ โปรแกรมหลามแบบต่อเนื่อง (เพื่อเพิ่มไดเรกทอรีของพวกเขาที่อยู่ใน PATH) จะถูกเลือกดังนี้:

    • py -2 สำหรับวินาที python
    • PY-3 สำหรับครั้งที่สามpythonฯลฯ
  3. ไม่ว่าคำสั่งของ "pythons" จะเป็นอย่างไร:

    • เรียกใช้สคริปต์ Python 2.x โดยใช้คำสั่ง: py -2 (ฟังก์ชัน Python 3.x) (เช่นโปรแกรมติดตั้ง Python 2.x แรกที่พบใน PATH ของคุณจะถูกเลือก)
    • เรียกใช้สคริปต์ Python 3.x โดยใช้คำสั่ง: หรือ py -3 (เช่นโปรแกรมติดตั้ง Python 3.x ตัวแรกที่พบใน PATH ของคุณจะถูกเลือก)

ในตัวอย่างของฉันฉันมี Python 2.7.14 ติดตั้งก่อนและ Python 3.5.3 นี่คือวิธีที่ตัวแปร PATH ของฉันเริ่มต้นด้วย:

เส้นทาง = C: \ Program Files \ Microsoft MPI \ Bin \; C: \ Python27; C: \ Program Files \ Python_3.6 \ Scripts \; C: \ Program Files \ Python_3.6 \ C: \ ProgramData \ Oracle \ Java \ javapath; C: \ Program ไฟล์ (x86) \ Common \ Intel \ Shared ไฟล์

...

โปรดทราบว่า Python 2.7 เป็นครั้งแรกและ Python 3.5 วินาที

  • pythonคำสั่งที่รันอยู่จะเรียกใช้python 2.7 (ถ้า Python 3.5 คำสั่งเดียวกันจะเปิดใช้ Python 3.5)
  • การpy -2เปิดใช้งานการเปิดตัว Python 2.7 (เพราะเกิดขึ้นที่ Python ที่สองคือ Python 3.5 ซึ่งไม่สามารถใช้งานร่วมกับpy -2) การpy -3เปิดตัว Python 3.5 (เพราะมันคือ Python 3.x)
  • py -4หากคุณมีงูหลามอีกต่อไปในเส้นทางของคุณคุณจะเริ่มชอบโดย: สิ่งนี้อาจเปลี่ยนแปลงหาก / เมื่อ Python เวอร์ชัน 4 ถูกนำออกใช้

ตอนนี้py -4หรือpy -5อื่น ๆ ในระบบของฉันเอาท์พุท: Requested Python version (4) not installedหรือRequested Python version (5) not installedอื่น ๆ

หวังว่านี่จะชัดเจนเพียงพอ


คุณจะระบุการติดตั้ง pip ในหนึ่งใน Python dists ได้อย่างไร?
VíctorMartínez

pipสำหรับหลามแรกพบเพียงแค่พิมพ์ สำหรับงูหลามอื่น ๆ ที่ติดตั้งคุณต้องระบุเส้นทางด้วยตนเองเช่น C:\Python27\Scripts\pip.py [parameters]. (แน่นอนว่าเป็นทางลัดให้คุณสามารถใส่ exe ใด ๆ ที่คุณต้องการในตัวแปรสภาพแวดล้อม.)
Nikos

@ Nik-Lz คำสั่ง "py -2" คืออะไรที่คุณอ้างถึง? ฉันดูเหมือนจะไม่มีสิ่งเหล่านี้ใน windows ของฉัน 7
Janos

2
นี่เป็นวิธีการที่ไพ ธ อนควรใช้กับ windows ในกรณีที่มีหลายเวอร์ชัน
getName


8

นี่คือสิ่งที่คุณสามารถทำได้:

ติดตั้งcmder เปิดและใช้ Cmder ตามที่คุณต้องการกับ terminal cmd ของคุณ ใช้นามแฝงคำสั่งเพื่อสร้างสมนามคำสั่ง

ฉันทำต่อไปนี้:

alias python2 = c:\python27\python.exe
alias python3 = c:\python34\python.exe

และนั่นมัน! ;-)


6
set-alias python2 c:\python27\python.exe
ศาสดาพยากรณ์ดาเนียล

ใช้ set-alias ตามตัวอย่างที่แสดงถ้าใช้ Powershell ในกรณีนั้นไม่จำเป็นต้องติดตั้ง Cmder
ศาสดาพยากรณ์ดาเนียล

@ProphetDaniel ควรโพสต์เป็นคำตอบแยกต่างหาก มันตอบคำถามทั้งหมดโดยสิ้นเชิง
Dr_Zaszuś

7

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

แทนที่จะเปลี่ยนชื่อไฟล์ปฏิบัติการที่จะทำลายสิ่งต่าง ๆ มากมายรวมถึง pip ให้สร้างไฟล์ python2.bat ในไดเรกทอรีเดียวกับ python2.exe จากนั้นเพิ่มบรรทัดต่อไปนี้:

%~dp0python %*

ไวยากรณ์โบราณนี้หมายความว่าอย่างไร เป็นชุดแบทช์ (เวอร์ชั่นทุบตี Windows) % ~ dp0 ได้รับไดเรกทอรีปัจจุบันและ% * จะส่งอาร์กิวเมนต์ทั้งหมดไปยัง python ที่ส่งผ่านไปยังสคริปต์

ทำซ้ำสำหรับ python3.bat

คุณยังสามารถทำเช่นเดียวกันกับ pip และยูทิลิตี้อื่น ๆ เพียงแค่แทนที่คำว่า python ในไฟล์ด้วย pip หรือชื่อไฟล์ก็ได้ นามแฝงจะเป็นชื่อไฟล์

สิ่งที่ดีที่สุดเมื่อเพิ่มลงใน PATH Windows จะละเว้นส่วนขยายที่ทำงานอยู่

python3

จะเปิดใช้งานเวอร์ชัน python3 และคำสั่ง python2 จะเปิดใช้งานเวอร์ชัน python2

BTW นี่เป็นเทคนิคเดียวกับที่ Spyder ใช้เพื่อเพิ่มตัวเองลงในพา ธ บน Windows :)


1
สุดยอดทางออกโดยไม่ต้องแก้ไขไฟล์ไพ ธ อนที่มีอยู่
Om Prakash

3

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

หมายเหตุ: ฉันเรียกใช้ Windows XP ฉันไม่รู้ว่าจะมีการเปลี่ยนแปลงใด ๆ สำหรับเวอร์ชันอื่น แต่ฉันไม่เห็นเหตุผลใด ๆ


3
ฉันมี python 2.5, 2.6 และ 3.1 ทั้งหมดที่ติดตั้งพร้อมกันมันไม่เคยเกิดขึ้นกับฉันว่าฉันอาจต้องทำอะไรที่ยากกว่าการรันโปรแกรมติดตั้งทั้งหมดสำหรับแต่ละเวอร์ชั่นที่ฉันต้องการ
SingleNegationElimination

3

สิ่งที่ฉันทำบนคอมพิวเตอร์ที่ใช้ windows ของฉันซึ่งฉันติดตั้ง Python 2.7 และ Python 3.4 อยู่ฉันเขียนไฟล์. bat อย่างง่ายในไดเรกทอรีเดียวกันกับไฟล์ Python.exe ของฉัน พวกเขาดูเหมือน

cmd /k "c:\python27\python.exe" %*

% * อนุญาตให้คุณเพิ่มอาร์กิวเมนต์ (ไฟล์ Python) ในภายหลัง ฉันเชื่อว่า / k เปิดพรอมต์ไว้หลังจากที่สคริปต์ทำงานเสร็จ จากนั้นฉันบันทึกเป็น python27.bat จากนั้นไปที่ไดเรกทอรี Python 3 ของฉันแล้วสร้างไฟล์ bat ที่นั่น ตอนนี้ในบรรทัดคำสั่งของฉันฉันสามารถเขียน

Python27 helloworld.py

หรือ

Python34 helloworld.py

และพวกเขาจะทำงานใน Python เวอร์ชันที่เกี่ยวข้อง ตรวจสอบให้แน่ใจว่าc: \ python27และc: \ python34อยู่ในตัวแปรสภาพแวดล้อมของคุณ

ฉันได้รับคำตอบจากที่นี่


2

ผมทำอย่างนี้ในสามขั้นตอนตามคำแนะนำที่นี่: นี้ถูกนำมาทั้งหมดได้โดยตรงจากที่นี่: http://ipython.readthedocs.io/en/stable/install/kernel_install.html ฉันกำลังใช้ Python 2.x ใน Windows 8 และติดตั้ง Anaconda 4.2.13

1) ก่อนติดตั้ง python เวอร์ชันล่าสุด:

conda create -n python3 python=3 ipykernel

2) เปิดใช้งาน python3 ถัดไป

activate python3

3) ติดตั้งเคอร์เนล:

python -m ipykernel install --user

หากคุณติดตั้ง Python 3 และต้องการติดตั้ง 2 ให้สลับ 2 และ 3 ด้านบน เมื่อคุณเปิดสมุดบันทึกใหม่คุณสามารถเลือกได้ระหว่าง Python 2 หรือ 3


1

ตรวจสอบตัวแปรสภาพแวดล้อมของระบบหลังจากติดตั้ง Python ไดเรกทอรีของ python 3 ควรเป็นอันดับแรกในตัวแปร PATH ของคุณจากนั้นใช้ python 2

ตัวแปรพา ธ ใดที่ตรงกับข้อแรกคือสิ่งที่ Windows ใช้

เช่นเคย py -2 จะเปิดตัว python2 ในสถานการณ์นี้


1

ฉันพบปัญหานั้นด้วยตัวเองและฉันสร้างโปรแกรมเรียกใช้เป็น. bat เพื่อให้คุณสามารถเลือกเวอร์ชันที่คุณต้องการเปิดตัว

ปัญหาเดียวคือ. คุณต้องอยู่ในโฟลเดอร์ python แต่อย่างไรก็ตามนี่คือรหัส:

สำหรับ Python2

@echo off
title Python2 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 23, 24, 25, 26)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
path = %PATH%;C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

สำหรับ Python3

@echo off
title Python3 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 31, 32, 33, 34)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
cls
set path = %PATH%:C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

บันทึกเป็น. bat และทำตามคำแนะนำภายใน


0

ติดตั้งอันที่คุณใช้บ่อยที่สุด (3.3 ในกรณีของฉัน) ที่ด้านบนสุดของอีกอัน นั่นจะบังคับให้ IDLE ใช้อันที่คุณต้องการ

อีกทางเลือกหนึ่ง (จาก python3.3 README):

การติดตั้งหลายรุ่น

บนระบบ Unix และ Mac หากคุณต้องการติดตั้ง Python หลายเวอร์ชันโดยใช้คำนำหน้าการติดตั้งเดียวกัน (- อาร์กิวเมนต์อาร์กิวเมนต์ของสคริปต์กำหนดค่า) คุณต้องระวังว่าไฟล์ไพ ธ อนหลักของคุณจะไม่ถูกเขียนทับโดยการติดตั้งเวอร์ชันอื่น ไฟล์และไดเรกทอรีทั้งหมดที่ติดตั้งโดยใช้ "make altinstall" มีรุ่นหลักและรุ่นรองจึงสามารถใช้งานแบบเคียงข้างกันได้ "make install" ยังสร้าง $ {prefix} / bin / python3 ซึ่งอ้างถึง $ {prefix} /bin/pythonX.Y หากคุณตั้งใจจะติดตั้งหลาย ๆ เวอร์ชันโดยใช้ส่วนนำหน้าเหมือนกันคุณต้องตัดสินใจว่าเวอร์ชันใด (ถ้ามี) คือเวอร์ชัน "หลัก" ของคุณ ติดตั้งเวอร์ชันนั้นโดยใช้ "ทำการติดตั้ง" ติดตั้งรุ่นอื่น ๆ ทั้งหมดโดยใช้ "make altinstall"

ตัวอย่างเช่นถ้าคุณต้องการติดตั้ง Python 2.6, 2.7 และ 3.3 โดยที่ 2.7 เป็นเวอร์ชันหลักคุณจะต้องดำเนินการ "make install" ในไดเรกทอรี build 2.7 ของคุณและ "make altinstall" ในที่อื่น ๆ


0

ฉันแค่ต้องติดตั้ง จากนั้นฉันก็ใช้ซอฟต์ (และพกพา) ฟรีที่http://defaultprogramseditor.com/ภายใต้ "การตั้งค่าประเภทไฟล์" / "เมนูบริบท" / ค้นหา: "py" เลือกไฟล์. py และเพิ่มคำสั่ง 'open' สำหรับ 2 IDLE โดยการคัดลอกคำสั่งที่มีอยู่ชื่อ 'open with IDLE เปลี่ยนชื่อเป็น IDLE 3.4.1 / 2.7.8 และทำการย้ายหมายเลขไฟล์ของเวอร์ชันที่เกี่ยวข้องในพา ธ โปรแกรม ตอนนี้ฉันต้องคลิกขวาที่ไฟล์. py และเลือก IDLE ที่ต้องการใช้ สามารถทำเช่นเดียวกันกับล่ามโดยตรงหากคุณต้องการ


-1

ใช้งานได้เฉพาะเมื่อคุณเรียกใช้รหัสใน Python IDE ของคุณ

ฉันมี Python 2.7 และ Python 3.3 ติดตั้งอยู่บนระบบปฏิบัติการ windows ของฉัน ถ้าฉันพยายามเปิดไฟล์มันมักจะเปิดขึ้นบน python 2.7 IDE ฉันจะแก้ไขปัญหานี้ได้อย่างไรเมื่อฉันเลือกที่จะเรียกใช้รหัสของฉันบน python 3.3 ฉันเปิด python 3.3 IDLE (Python GUI) เลือกไฟล์เปิดไฟล์ของฉันด้วย IDLE และบันทึก จากนั้นเมื่อฉันเรียกใช้รหัสของฉันมันจะวิ่งไปที่ IDLE ที่ฉันเปิดด้วย มันทำงานในทางกลับกันกับ 2.7


-1

ฉันได้ติดตั้งทั้ง python 2.7.13 และ python 3.6.1 บน windows 10pro และฉันได้รับ "ข้อผิดพลาดร้ายแรง" เดียวกันเมื่อฉันลอง pip2 หรือ pip3

สิ่งที่ฉันทำเพื่อแก้ไขสิ่งนี้คือไปที่ตำแหน่งของ python.exe สำหรับไฟล์ python 2 และ python 3 และสร้างสำเนาของแต่ละไฟล์จากนั้นฉันเปลี่ยนชื่อแต่ละสำเนาเป็น python2.exe และ python3.exe ขึ้นอยู่กับเวอร์ชันของหลามใน โฟลเดอร์การติดตั้ง ฉันจึงมีโฟลเดอร์การติดตั้งหลามแต่ละโฟลเดอร์ทั้งไฟล์ python.exe และ python2.exe หรือ python3.exe ขึ้นอยู่กับเวอร์ชันของงูหลาม

วิธีนี้ช่วยแก้ไขปัญหาของฉันเมื่อฉันพิมพ์ pip2 หรือ pip3


-2

หากคุณไม่สามารถทำงานได้อีกให้เปิดล่ามในเวอร์ชันที่คุณเลือก (ฉันชอบใช้ iPython) และ:

import subprocess

subprocess.call('python script.py -flags')

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

มีวิธีที่จะทำให้นามแฝงสำหรับรุ่นหลามแตกต่างกันเป็น la Linux หรือไม่?

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