ฉันติดตั้ง Python สองเวอร์ชันในเครื่องของฉัน (เวอร์ชัน 2.6 และ 2.5) ฉันต้องการรัน 2.6 สำหรับโครงการหนึ่งและอีก 2.5 โครงการ
ฉันจะระบุสิ่งที่ฉันต้องการใช้ได้อย่างไร
ฉันกำลังทำงานบน Windows XP SP2
ฉันติดตั้ง Python สองเวอร์ชันในเครื่องของฉัน (เวอร์ชัน 2.6 และ 2.5) ฉันต้องการรัน 2.6 สำหรับโครงการหนึ่งและอีก 2.5 โครงการ
ฉันจะระบุสิ่งที่ฉันต้องการใช้ได้อย่างไร
ฉันกำลังทำงานบน Windows XP SP2
คำตอบ:
การเรียกใช้งาน Python ที่แตกต่างนั้นเป็นเรื่องง่ายเหมือนกับการเริ่มต้นโปรแกรมปฏิบัติการที่ถูกต้อง คุณพูดถึงว่าคุณได้เริ่มต้นอินสแตนซ์หลามจากบรรทัดคำสั่งโดยพิมพ์python
คุณพูดถึงว่าคุณได้เริ่มต้นเช่นงูหลามจากบรรทัดคำสั่งโดยเพียงแค่พิมพ์
สิ่งนี้ทำภายใต้ Windows คือการ trawl %PATH%
ตัวแปรสภาพแวดล้อมการตรวจสอบการปฏิบัติการไฟล์แบทช์ ( .bat
), ไฟล์คำสั่ง ( .cmd
) หรือปฏิบัติการอื่นที่จะทำงาน (นี้ถูกควบคุมโดยPATHEXT
ตัวแปรสภาพแวดล้อม) ที่ตรงกับชื่อที่กำหนด เมื่อพบไฟล์ที่ถูกต้องเพื่อเรียกใช้ไฟล์จะถูกเรียกใช้
ทีนี้ถ้าคุณติดตั้งงูหลามสองรุ่น 2.5 และ 2.6 แล้วเส้นทางจะมีทั้งไดเรกทอรีอยู่ในนั้นสิ่งที่คล้ายกันPATH=c:\python\2.5;c:\python\2.6
แต่ Windows จะหยุดตรวจสอบเส้นทางเมื่อพบการจับคู่
สิ่งที่คุณต้องทำจริงๆคือเรียกแอปพลิเคชั่นหนึ่งหรือทั้งสองอย่างเช่นc:\python\2.5\python.exe
หรือc:\python\2.6\python.exe
หรือ
อีกทางเลือกหนึ่งคือการสร้างทางลัดไปยังการpython.exe
โทรที่เกี่ยวข้องอย่างใดอย่างหนึ่งpython25
และอื่น ๆpython26
; จากนั้นคุณสามารถเรียกใช้python25
บนบรรทัดคำสั่งของคุณ
การเพิ่มวิธีแก้ไขปัญหาเพิ่มเติมอีกสองรายการ:
#! c:\[path to Python 2.5]\python.exe
- สำหรับสคริปต์ที่คุณต้องการรันด้วย Python 2.5
#! c:\[path to Python 2.6]\python.exe
- สำหรับสคริปต์ที่คุณต้องการรันด้วย Python 2.6
หรือแทนที่จะเรียกใช้python
คำสั่งรันคำสั่ง pylauncher ( py
) specyfing เวอร์ชั่นของ Python ที่คุณต้องการ;
py -2.6
- เวอร์ชั่น 2.6
py -2
- เวอร์ชั่นที่ติดตั้งล่าสุด 2.x
py -3.4
- เวอร์ชั่น 3.4
py -3
- เวอร์ชั่นที่ติดตั้งล่าสุด 3.x
virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]
virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]
ตัวอย่างเช่น
virtualenv -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
จากนั้นคุณสามารถเปิดใช้งานแรกและทำงานกับ Python 2.5 เช่นนี้
c:\venvs\2.5\activate
และเมื่อคุณต้องการเปลี่ยนไปใช้ Python 2.6 ที่คุณทำ
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate
ในเส้นทางเพื่อเปิดใช้งานเช่นนี้: นี่เป็น Windows 10 ถ้ามันสร้างความแตกต่าง นอกเหนือจากนั้นทำงานเหมือนมีเสน่ห์ขอบคุณ
จาก Python 3.3 เป็นต้นไปจะมีตัวเปิดใช้ Pythonอย่างเป็นทางการสำหรับ Windows ( http://www.python.org/dev/peps/pep-0397/ ) ตอนนี้คุณสามารถใช้#!pythonX
เพื่อกำหนดรุ่นที่ต้องการของล่ามบน Windows ได้เช่นกัน ดูรายละเอียดเพิ่มเติมในความคิดเห็นอื่นของฉันหรืออ่าน PEP 397
สรุป:การpy script.py
เปิดตัวรุ่น Python ที่ระบุไว้ใน#!
หรือ Python 2 หาก#!
ขาดหายไป การpy -3 script.py
เปิดตัว Python 3
.py
ส่วนขยาย ปล่อยตัวเองถูกติดตั้งลงในที่มีอยู่แล้วในC:\Windows
PATH
วิธีนี้PATH
ตัวแปรไม่จำเป็นต้องถูกแก้ไข
ตาม @alexander คุณสามารถสร้างลิงก์สัญลักษณ์ได้ดังนี้ วางไว้ที่ไหนสักแห่งที่รวมอยู่ในเส้นทางของคุณเพื่อให้สามารถเรียกใช้ได้อย่างง่ายดาย
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
ตราบใดที่ c: \ bin หรือที่ที่คุณวางไว้ในเส้นทางของคุณคุณสามารถไปได้
> python25
mklink
มีอยู่ใน Windows Vista / 2008 + เท่านั้น ใน XP และ Server 2003 คุณสามารถสร้าง "hardlink" แทนโดยใช้fsutil hardlink create <new filename> <existing filename>
และย้ายหรือย้าย <ชื่อไฟล์ใหม่> ไปยังที่อื่นในเส้นทางของคุณ อย่างไรก็ตามฮาร์ดลิงก์ใช้งานได้กับไดรฟ์เดียวกันเท่านั้น
ติดตั้งหลาม
ตัวแปรสภาพแวดล้อม
PYTHON2_HOME: C:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
เปลี่ยนชื่อไฟล์
จุดเล็ก ๆ
python2 -m pip install package
python3 -m pip install package
python
คำสั่งจะทำให้เกิดความสับสนกับระบบปฏิบัติการ
py -3.6
ตัวอย่างเช่นสำหรับประเภท 3.6 รุ่น หากคุณยังมี 32bit และ 64bit รุ่นคุณก็สามารถพิมพ์หรือpy -3.6-64
py -3.6-32
py
แฟ้มนี้ปฏิบัติการได้ที่ไหน- มันเป็นส่วนเสริมเฉพาะ Windows หรือไม่ เป็นไปได้หรือไม่ที่จะรวมสิ่งนี้ไว้ในสคริปต์บรรทัดคำสั่งข้ามแพลตฟอร์มซึ่งมีที่ด้านบน: #!/usr/bin/env python3
ตัวอย่างเช่น
เมื่อคุณติดตั้ง Python มันจะไม่เขียนทับการติดตั้งอื่น ๆ ของเวอร์ชันหลักอื่น ๆ ดังนั้นการติดตั้ง Python 2.5.x จะไม่เขียนทับ Python 2.6.x แม้ว่าการติดตั้ง 2.6.6 จะเขียนทับ 2.6.5
ดังนั้นคุณสามารถติดตั้งได้ จากนั้นคุณเรียกรุ่น Python ที่คุณต้องการ ตัวอย่างเช่น:
C:\Python2.5\Python.exe
สำหรับ Python 2.5 บน windows และ
C:\Python2.6\Python.exe
สำหรับ Python 2.6 บน windows หรือ
/usr/local/bin/python-2.5
หรือ
/usr/local/bin/python-2.6
บนWindows Unix (รวมถึง Linux และ OS X)
เมื่อคุณติดตั้งบน Unix (รวมถึง Linux และ OS X) คุณจะได้python
รับคำสั่งทั่วไปซึ่งจะเป็นคำสั่งสุดท้ายที่คุณติดตั้ง นี่ไม่ใช่ปัญหาส่วนใหญ่เนื่องจากสคริปต์ส่วนใหญ่จะเรียก /usr/local/bin/python2.5 อย่างชัดเจนหรือบางอย่างเพื่อป้องกันสิ่งนั้น แต่ถ้าคุณไม่ต้องการทำเช่นนั้นและคุณอาจไม่สามารถติดตั้งได้เช่นนี้:
./configure
make
sudo make altinstall
โปรดสังเกตว่า "altinstall" ซึ่งหมายความว่าจะติดตั้ง แต่จะไม่แทนที่python
คำสั่ง
ใน Windows คุณจะไม่ได้python
รับคำสั่งระดับโลกเท่าที่ฉันทราบดังนั้นจึงไม่ใช่ปัญหา
C:\Python2.5
หรือC:\Python2.6
ปรากฏในPATH
ตัวแปรสภาพแวดล้อมของคุณรุ่นที่สอดคล้องกันของ Python จะกลายเป็นค่าเริ่มต้นเว้นแต่คุณจะแทนที่มันโดยระบุเส้นทางที่แตกต่างไปยัง. exe ที่คุณต้องการใช้อย่างชัดเจน
นี่คือแฮ็คด่วน:
C:\Users\Your name
)name_of_your_shortcut.lnk
(ฉันใช้p27.lnk
)cp c: \ python27 \ bin \ python.exe เป็น python2.7.exe
cp c: \ python34 \ bin \ python.exe เป็น python3.4.exe
ทั้งหมดอยู่ในเส้นทางของระบบเลือกรุ่นที่คุณต้องการเรียกใช้
C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>
C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
การใช้แบตช์ไฟล์เพื่อสลับใช้งานง่ายและมีประสิทธิภาพบน windows 7 ฉันใช้สิ่งนี้:
ในกล่องโต้ตอบตัวแปรสภาพแวดล้อม (C: \ Windows \ System32 \ SystemPropertiesAdvanced.exe)
ในส่วนของตัวแปรผู้ใช้
เพิ่ม% pathpython% ให้กับตัวแปรสภาพแวดล้อมของเส้นทาง
ลบการอ้างอิงใด ๆ ไปยังเส้นทางหลาม
ในตัวแปรระบบส่วน
ฉันสร้างไฟล์แบตช์สำหรับการติดตั้งทุกหลาม (exmple สำหรับ 3.4 x64
ชื่อ = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) เพียงจำ
เนื้อหาของไฟล์ =
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
ในการสลับระหว่างเวอร์ชันฉันใช้งานแบตช์ไฟล์ในโหมดผู้ดูแลระบบ
!!!!! การเปลี่ยนแปลงจะมีผลสำหรับหน้าต่างพร้อมรับคำสั่ง SUBSEQUENT ที่เปิดอยู่ !!!
ดังนั้นฉันจึงควบคุมมันได้อย่างแน่นอน
วิธีที่ง่ายที่สุดในการรัน python หลายเวอร์ชันบน windows ได้อธิบายไว้ด้านล่างดังนี้: -
1) ดาวน์โหลดpythonเวอร์ชันล่าสุดจากpython.org/downloadsโดยเลือกเวอร์ชั่นที่เกี่ยวข้องสำหรับระบบของคุณ
2) เรียกใช้ตัวติดตั้งและเลือกเพิ่ม python 3.x ลงในพา ธเพื่อตั้งค่าพา ธ โดยอัตโนมัติใน python 3 (คุณเพียงคลิกที่ช่องทำเครื่องหมาย) สำหรับ python 2 เปิดโปรแกรมติดตั้ง python 2 ของคุณเลือกสิ่งที่คุณต้องการ แต่อย่าลืมตั้งAdd python.exe ไปที่ pathที่จะถูกติดตั้งบนฮาร์ดไดรฟ์ในเครื่องตอนนี้เพียงคลิกถัดไปและรอให้ตัวติดตั้งเสร็จสิ้น
3) เมื่อการติดตั้งทั้งสองเสร็จสมบูรณ์ คลิกขวาบนคอมพิวเตอร์ของฉัน - ไปที่คุณสมบัติ - เลือกการตั้งค่าระบบขั้นสูง - ไปที่ตัวแปรสภาพแวดล้อม - คลิกที่ใหม่ภายใต้ตัวแปรของระบบและเพิ่มใหม่ตัวแปรระบบด้วยชื่อตัวแปรเป็นPY_PYTHONและการตั้งค่านี้ค่าตัวแปรที่จะ3 ตอนนี้คลิกที่ตกลงและคุณควรจะทำ
4) ตอนนี้เปิดเพื่อทดสอบนี้พร้อมรับคำสั่ง เมื่อคุณอยู่ในประเภทมีงูหลามหรือPYมันควรเปิดpython3
5) ตอนนี้ออกจาก python3 โดยพิมพ์ออก () ตอนนี้พิมพ์py -2มันควรเปิด python 2
หากไม่สามารถใช้งานได้ให้รีสตาร์ทคอมพิวเตอร์และหากยังคงมีปัญหาอยู่ให้ถอนการติดตั้งทุกอย่างแล้วทำซ้ำขั้นตอน
ขอบคุณ
คุณสามารถสร้างสภาพแวดล้อมการพัฒนาหลามที่แตกต่างกันในรูปแบบกราฟิกจาก Anaconda Navigator ฉันมีปัญหาเดียวกันในขณะที่ทำงานกับงูหลามรุ่นต่าง ๆ ดังนั้นฉันจึงใช้ตัวนำทางงูใหญ่เพื่อสร้างสภาพแวดล้อมการพัฒนางูหลามที่แตกต่างกันและใช้งูหลามรุ่นต่าง ๆ ในแต่ละสภาพแวดล้อม
นี่คือเอกสารช่วยเหลือสำหรับสิ่งนี้
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
การใช้เครื่องมือแก้ไขสภาพแวดล้อมอย่างรวดเร็ว คุณสามารถผลักดันไดเรกทอรีของการติดตั้ง Python ที่ต้องการไปด้านบน ตัวอย่างเช่นในการเริ่มต้น python จากไดเร็กทอรี c: \ Python27 ตรวจสอบให้แน่ใจว่าไดเร็กทอรี c: \ Python27 อยู่ก่อนหน้าหรือด้านบนของไดเร็กทอรี c: \ Python36 ในตัวแปรสภาพแวดล้อม Path จากประสบการณ์ของฉันมีการใช้งาน python ตัวแรกที่พบในสภาพแวดล้อมของ Path ตัวอย่างเช่นฉันติดตั้ง MSYS2 พร้อมกับ Python27 และเนื่องจากฉันได้เพิ่ม C: \ MSYS2 ไปยังเส้นทางก่อน C: \ Python36, python.exe จากโฟลเดอร์ C: \ MSYS2 .... กำลังถูกดำเนินการ
เพียงแค่เรียกใช้ปฏิบัติการที่ถูกต้อง
python
ที่จะใส่ลองเปลือกหรือpython2.5
python2.6
ฉันไม่ใช่ผู้ใช้ windows แต่โดยปกติแล้ว unix / usr / bin / python นั้นเป็นนามแฝงของโปรแกรมปฏิบัติการที่มีคุณสมบัติครบถ้วนฉันสมมติว่า python ใน windows นั้นได้รับการติดตั้งในลักษณะที่คล้ายกัน