ฉันสามารถติดตั้ง Python 3.x และ 2.x บนคอมพิวเตอร์ Windows เครื่องเดียวกันได้หรือไม่


156

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

ฉันต้องการเล่นกับ Python 3 ในขณะที่ยังสามารถเรียกใช้สคริปต์ 2.x บนเครื่องเดียวกันได้


1
ใน distro ของฉัน Fedora ก็ติดตั้ง Python 2.7 ที่/usr/bin/pythonและ Python 3.3 /usr/bin/python3ที่ ให้ชื่อที่แตกต่างกันสำหรับ Pip และ IPython ของ Python3 ด้วย มีประโยชน์มาก
พันเอก Panic

19
@user - ด้วยจิตวิญญาณฉันเห็นด้วยกับคำตอบของคุณ แต่ฉันถูกเผาโดยวิญญาณนั้นหลายต่อหลายครั้งที่ฉันเข้าใจว่าทำไมมีคนถามก่อนที่จะกระโดด
Peter Hanley

คำตอบที่นี่ดูเหมือนจะเป็นทั้งหมดเกี่ยวกับวิธีการเลือกหลามที่จะทำงานเมื่อ ปัญหาของฉันคือว่าตัวติดตั้ง (3.6.2) จะไม่ทำงานเพราะมันระบุว่า "มีการติดตั้งผลิตภัณฑ์รุ่นอื่นแล้ว" ปรากฎว่าฉันติดตั้ง 3.6.3 แล้ว
yoyo

คำตอบ:


66

วิธีการแก้ปัญหาอย่างเป็นทางการสำหรับการอยู่ร่วมกันน่าจะเป็นตัวเปิดหลามสำหรับ Windows , PEP 397 ซึ่งถูกรวมอยู่ในPython 3.3.0 การติดตั้งการปล่อยทิ้งpy.exeและpyw.exeตัวเรียกใช้ลงใน%SYSTEMROOT%( C:\Windows) ซึ่งเชื่อมโยงกับpyและpywสคริปต์ตามลำดับ

ในการใช้ตัวเรียกใช้งานใหม่ (โดยไม่ต้องตั้งค่าการเชื่อมโยงของคุณเอง) ให้เปิดการใช้งานตัวเลือก "ลงทะเบียนส่วนขยาย" ฉันไม่แน่ใจว่าทำไม แต่บนเครื่องของฉันมันทำให้ Py 2.7 เป็น "ค่าเริ่มต้น" (ของตัวเรียกใช้)

การเรียกใช้สคริปต์โดยเรียกพวกเขาโดยตรงจากบรรทัดคำสั่งจะกำหนดเส้นทางให้พวกเขาผ่านตัวเรียกใช้งานและแยกวิเคราะห์ shebang (ถ้ามี) py -3 mypy2script.pyนอกจากนี้คุณยังสามารถชัดเจนโทรปล่อยและการใช้สวิทช์:

Shebangs ทุกรูปแบบดูเหมือนจะได้ผล

  • #!C:\Python33\python.exe
  • #!python3
  • #!/usr/bin/env python3

เช่นเดียวกับการใช้ในทางที่ผิด

  • #! notepad.exe

"พวกเขา" ควรรวม pylauncher กับการแจกจ่าย Python 2 ปัจจุบันสำหรับ Windows (หรือทำให้ผู้คนตระหนักถึงความพร้อมใช้งานและตำแหน่งที่จะได้รับด้วยตนเอง)
martineau

1
บางที แต่ถ้าคุณเพียงแค่อาศัยอยู่ในโลก Python 2 มันไม่ใช่เรื่องใหญ่โตอะไรนัก
Nick T

ตัวเรียกใช้นี้พร้อมใช้งานเป็นโปรแกรมแบบสแตนด์อโลนอย่างน้อยตั้งแต่กลางปี ​​2012
สมิ ธ จอห์น


1
@ Mooncrater คุณสามารถตรวจสอบได้ว่าจะใช้กับwhere.exe pipอะไร ฉันคิดว่าตัวติดตั้ง Python 3 ติดตั้งpip3ชื่อแทน pip แต่คุณสามารถทำอะไรบางอย่างที่py -3 -m pip install requestsฉันคิด
Nick T

41

นี่คือการตั้งค่าของฉัน:

  1. ติดตั้งทั้งงูหลาม 2.7 และ 3.4 กับหน้าต่างติดตั้ง
  2. ไปที่C:\Python34(เส้นทางการติดตั้งเริ่มต้น) และเปลี่ยน python.exe เป็น python3.exe
  3. แก้ไข ตัวแปรสภาพแวดล้อมของคุณเพื่อรวมC:\Python27\;C:\Python27\Scripts\;C:\Python34\;C:\Python34\Scripts\;

ในบรรทัดคำสั่งคุณสามารถใช้python2.7 และpython33.4


3
ยกตัวอย่างเช่นpipใน cli?
คริสเตียน

3
python 2 และ 3 รุ่นล่าสุดพร้อม ship pip ดังนั้นคุณสามารถใช้pipและpip3ตามลำดับ
อลิสแตร์มาร์ติน

8
ฉันแค่ชี้ให้เห็นว่าคุณจะต้องเปลี่ยนชื่อโปรแกรมอรรถประโยชน์เหล่านี้ทั้งหมด ถึงอย่างนั้นมันก็มีความเสี่ยงที่สิ่งต่าง ๆ จะพังถ้าตัวอย่างเช่น python3 อย่างชัดเจน (เช่นรหัสฮาร์ด) โทร pip และไม่ใช่ pip3
คริสเตียน

นั่นเป็นความคิดที่ไม่ดีจะเปลี่ยนชื่อทุกอย่างและ pip ​​ไม่ทำงานอย่างนั้น
bhansa

เพื่อหยุดการทำงานเป็นปัญหา pip ใน python3 คุณต้องการ UNSLECT "install pip" จากตัวช่วยสร้างการเริ่มต้น python3 จากนั้นเปลี่ยนชื่อ python3.7 / python.exe เป็น python3.exe จากนั้นดาวน์โหลด get-pip.py และเรียกใช้ python3.exe get-pip.py ดังนั้น pip3 จึงรู้ว่า python3.exe ที่ถูกเปลี่ยนชื่อนั้นเป็น python3 ไม่ใช่ origional /python3.7/python.exe
Junchen Liu

36

คุณสามารถติดตั้งได้ทั้งคู่

คุณควรเขียนสิ่งนี้ต่อหน้าสคริปต์ของคุณ:

#!/bin/env python2.7

หรือในที่สุด ...

#!/bin/env python3.6

ปรับปรุง

โซลูชันของฉันทำงานได้อย่างสมบูรณ์กับ Unix หลังจากค้นหาอย่างรวดเร็วบนGoogleนี่คือโซลูชัน Windows:

#!c:/Python/python3_6.exe -u

สิ่งเดียวกัน: ด้านหน้าสคริปต์ของคุณ


เราจะสามารถติดตั้งบน Linux และสามารถใช้บน Windows ได้เช่นกัน คุณเพียงแค่ต้องตั้งค่าตัวแปร env .. ที่คุณสามารถทำได้ใน Windows ...
แพทริคจาร์แดงส์

7
วิธีนี้จะไม่ทำงานกับ windows (เว้นแต่คุณจะเรียกมันว่าจากเชลล์สไตล์ยูนิกซ์ (เช่น cygwin)) The #! ถูกจัดการโดยเชลล์และ windows ไม่รองรับ ผมเชื่อว่าในตัวอย่างที่คุณ googled มันจะถูกจัดการโดยเว็บเซิร์ฟเวอร์ที่ไม่ได้มาจากการเปิดตัวในหน้าต่าง
ไบรอัน

ใช่ใน Apache บน Windows ... เปลือกคำขอคำถามโดยอัตโนมัติคุณสามารถทำมันได้ด้วย Cygwin อาปาเช่ ฯลฯ ...
แพทริคจาร์แดงส์

@Daok: ฉันไม่ได้ลงคะแนนคุณ ฉันขอบคุณสำหรับความช่วยเหลือแม้แต่ความพยายาม
มิ้นต์

4
เราสามารถใช้pylauncherเพื่อสร้างงานแบบนี้ (ตามที่อธิบายไว้ในPEP 397 - Python launcher สำหรับ Windowsในปี 2011
martineau

33

จากรุ่น 3.3 หลามแนะนำเปิดยูทิลิตี้ของ Windows https://docs.python.org/3/using/windows.html#python-launcher-for-windows

ดังนั้นเพื่อให้สามารถใช้ Python ได้หลายเวอร์ชัน:

  1. ติดตั้ง Python 2.x (x เป็นเวอร์ชั่นที่คุณต้องการ)
  2. ติดตั้ง Python 3.x (x เป็นรุ่นใด ๆ ที่คุณต้องการและคุณต้องมีหนึ่งรุ่น 3.x> = 3.3)
  3. เปิดพร้อมท์คำสั่ง
  4. พิมพ์py -2.xเพื่อเปิด Python 2.x
  5. พิมพ์py -3.xเพื่อเปิด Python 3.x

1
แล้วคนที่ใช้ IDE ล่ะ ใช้งานได้กับสิ่งนั้นด้วยหรือไม่
emorphus

1
@emorphus ฉันเดาว่าขึ้นอยู่กับ IDE แต่โดยทั่วไปคุณควรเลือกรุ่นของล่าม ดังนั้นในกรณีที่คุณติดตั้ง Python หลายรุ่นให้เลือกรุ่นที่คุณต้องการใช้ในโครงการของคุณ เทอร์มินัลใน IDE ยังทำงานเหมือนกับพรอมต์คำสั่ง
Ivan Kucerak

2
นี่เป็นทางออกที่ดีที่สุด IMO มันทำงานได้อย่างสมบูรณ์แบบจากการเดินทาง ไม่จำเป็นต้องมี -3.x py -3 filename.pyคุณก็สามารถทำได้
OmegaNalphA

9

ฉันใช้ 2.5, 2.6 และ 3.0 จากเชลล์ด้วยสคริปต์แบทช์หนึ่งบรรทัดของแบบฟอร์ม:

:: The @ symbol at the start turns off the prompt from displaying the command.
:: The % represents an argument, while the * means all of them.
@c:\programs\pythonX.Y\python.exe %*

ตั้งชื่อพวกเขาpythonX.Y.batแล้วนำไปวางที่ไหนสักแห่งในเส้นทางของคุณ คัดลอกไฟล์สำหรับรุ่นเล็ก ๆ น้อย ๆ ที่แนะนำ (IE ล่าสุด) pythonX.batเพื่อ (เช่นcopy python2.6.bat python2.bat) จากนั้นคุณสามารถใช้งานได้python2 file.pyจากทุกที่

อย่างไรก็ตามสิ่งนี้ไม่ได้ช่วยหรือแม้แต่ส่งผลกระทบต่อสถานการณ์การเชื่อมโยงไฟล์ของ Windows สำหรับสิ่งที่คุณจะต้องใช้โปรแกรมเรียกใช้งานที่อ่าน#!บรรทัดแล้วเชื่อมโยงกับไฟล์. py และ. pyw


ดูความคิดเห็นของฉันเกี่ยวกับคำตอบของ Patrick Desjardins
martineau

8

เมื่อคุณเพิ่มตัวแปรทั้งสองลงในตัวแปรสภาพแวดล้อมจะมีข้อขัดแย้งเพราะไฟล์ประมวลผลทั้งสองนั้นมีชื่อเหมือนกัน: python.exe.

เพียงเปลี่ยนชื่อหนึ่งในนั้น python3.exeในกรณีของฉันฉันมันเปลี่ยนไป

ดังนั้นเมื่อฉันเรียกใช้pythonมันจะดำเนินการpython.exeซึ่งเป็น 2.7 และเมื่อฉันเรียกใช้python3มันจะดำเนินการpython3.exeซึ่งเป็น 3.6

ป้อนคำอธิบายรูปภาพที่นี่


คุณช่วยอธิบายส่วนโน้ตให้ละเอียดได้ไหม? เมื่อฉันเปลี่ยนชื่อ python เป็น python3 ฉันไม่สามารถเรียกใช้ pip ได้อีกต่อไปเพราะดูเหมือนว่า pip.exe, pip3.exe และ pip3.7.exe ทั้งหมดขึ้นอยู่กับ python.exe เมื่อฉันเรียก pip ฉันได้รับข้อผิดพลาด Fatal error in launcher: Unable to create process using '"c:\users\<my_username>\appdata\local\programs\python\python37-32\python.exe" "C:\Users\<my_username>\AppData\Local\Programs\Python\Python37-32\Scripts\pip.exe" '=>
Mandar Sadye

ฉันไม่รู้ว่าฉันไม่มีปัญหานี้
Charif DZ

@MandarSadye คุณสามารถเปิด pip.exe ใน Notepad และค้นหา python.exe .. จากนั้นแทนที่ python.exe ด้วย
python3.exe

7

ที่นี่คุณไป ...

winpylaunch.py

#
# Looks for a directive in the form: #! C:\Python30\python.exe
# The directive must start with #! and contain ".exe".
# This will be assumed to be the correct python interpreter to
# use to run the script ON WINDOWS. If no interpreter is
# found then the script will be run with 'python.exe'.
# ie: whatever one is found on the path.
# For example, in a script which is saved as utf-8 and which
# runs on Linux and Windows and uses the Python 2.6 interpreter...
#
#    #!/usr/bin/python
#    #!C:\Python26\python.exe
#    # -*- coding: utf-8 -*-
#
# When run on Linux, Linux uses the /usr/bin/python. When run
# on Windows using winpylaunch.py it uses C:\Python26\python.exe.
#
# To set up the association add this to the registry...
#
#    HKEY_CLASSES_ROOT\Python.File\shell\open\command
#    (Default) REG_SZ = "C:\Python30\python.exe" S:\usr\bin\winpylaunch.py "%1" %*
#
# NOTE: winpylaunch.py itself works with either 2.6 and 3.0. Once
# this entry has been added python files can be run on the
# commandline and the use of winpylaunch.py will be transparent.
#

import subprocess
import sys

USAGE = """
USAGE: winpylaunch.py <script.py> [arg1] [arg2...]
"""

if __name__ == "__main__":
  if len(sys.argv) > 1:
    script = sys.argv[1]
    args   = sys.argv[2:]
    if script.endswith(".py"):
      interpreter = "python.exe" # Default to wherever it is found on the path.
      lines = open(script).readlines()
      for line in lines:
        if line.startswith("#!") and line.find(".exe") != -1:
          interpreter = line[2:].strip()
          break
      process = subprocess.Popen([interpreter] + [script] + args)
      process.wait()
      sys.exit()
  print(USAGE)

ฉันเพิ่งเคาะอ่านกระทู้นี้ (เพราะมันเป็นสิ่งที่ฉันต้องการด้วย) ฉันมี Pythons 2.6.1 และ 3.0.1 บนทั้ง Ubuntu และ Windows ถ้ามันไม่ทำงานสำหรับคุณโพสต์แก้ไขที่นี่


1
จะเป็นการดีกว่าหากใช้sys.exit(process.returncode)เพื่อเผยแพร่สถานะการออกของสคริปต์ที่เรียกใช้ไปยังผู้โทร
martineau

4

เท่าที่ฉันรู้ Python วิ่งออกจาก commandline โดยใช้ตัวแปร PATH เมื่อเทียบกับการตั้งค่ารีจิสทรี

ดังนั้นหากคุณชี้ไปที่เวอร์ชันที่ถูกต้องบน PATH ของคุณคุณจะใช้มัน อย่าลืมรีสตาร์ทพรอมต์คำสั่งของคุณเพื่อใช้การตั้งค่า PATH ใหม่


สิ่งนี้เป็นจริงถ้าคุณพิมพ์ 'python myscript.py' คุณสามารถพิมพ์ C: \ python30 \ python.exe แทนได้ แต่พรอมต์คำสั่งจะทำสิ่งนี้โดยอัตโนมัติหากคุณเพิ่งพิมพ์ myscript.py และฉันไม่ต้องการแยก 2 ? สคริปต์ถ้าฉันติดตั้ง 3.0 บนเครื่องเดียวกัน
มิ้นต์

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

3

การติดตั้ง Python ร่วมงานได้ตามปกติ.py, .pywและ.pycไฟล์ที่มีล่ามหลาม ดังนั้นคุณสามารถเรียกใช้สคริปต์ Python โดยการดับเบิลคลิกใน Explorer หรือพิมพ์ชื่อในหน้าต่างบรรทัดคำสั่ง (ดังนั้นไม่จำเป็นต้องพิมพ์python scriptname.pyเพียงแค่scriptname.pyจะทำ)

หากคุณต้องการเปลี่ยนการเชื่อมโยงนี้ด้วยตนเองคุณสามารถแก้ไขคีย์เหล่านี้ได้ในรีจิสทรีของ Windows:

HKEY_CLASSES_ROOT\Python.File\shell\open\command
HKEY_CLASSES_ROOT\Python.NoConFile\shell\open\command
HKEY_CLASSES_ROOT\Python.CompiledFile\shell\open\command

Python Launcher

ผู้คนทำงานบน Python launcher สำหรับ Windows: โปรแกรมขนาดเล็กที่เชื่อมโยงกับ.pyและ.pywไฟล์ซึ่งจะมองหาบรรทัด "shebang" (คล้ายกับ Linux และ al) ในบรรทัดแรกและเปิดใช้ Python 2.x หรือ 3.x เป็น จำเป็นต้องใช้ ดูโพสต์บล็อก"A Python Launcher สำหรับ Windows"


3

ลองใช้ Anaconda

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

conda create --name snakes python=3

มันง่ายกว่าฟังดูหน้าหน้าคำนำที่นี่: เริ่มต้นกับอนาคอนด้า

และเพื่อจัดการกับปัญหาเฉพาะของคุณในการมีรุ่น 2.x และ 3.x ที่ทำงานเคียงข้างกันดู: การจัดการเวอร์ชัน Python ด้วยแอนาคอนดา


ลิงค์แนะนำแอนาคอนดาเสีย
alex

1
แก้ไขลิงก์ไปที่ 'เริ่มต้นกับอนาคอนด้า'
Cale Sweeney

2
@JeffreyCordero ฉันแก้ไขลิงก์แล้ว งูอนาคอนดาสามารถทำงานได้ แต่ไม่สามารถซ่อนได้
Cale Sweeney

2

นี่คือวิธีการเรียกใช้ Python 2 และ 3 บนเครื่องเดียวกัน

  1. ติดตั้ง Python 2.x
  2. ติดตั้ง Python 3.x
  3. เริ่ม Powershell
  4. พิมพ์Python -2เพื่อเปิดใช้ Python 2.x
  5. พิมพ์Python -3เพื่อเปิดใช้ Python 2.x

เปิดหลามสำหรับ Windowsถูกฝังลงในหลามตั้งแต่เวอร์ชัน 3.3 เป็นสัญญาในปี 2011 เมื่อยืนอยู่คนเดียวครั้งแรกที่เปิดตัว:

Python Launcher สำหรับ Windows


แล้วคนที่ใช้ IDE ล่ะ ใช้งานได้กับสิ่งนั้นด้วยหรือไม่
emorphus

2

นี่เป็นวิธีที่เรียบร้อยและสะอาดในการติดตั้ง Python2 และ Python3 บน windows

https://datascience.com.co/how-to-install-python-2-7-and-3-6-in-windows-10-add-python-path-281e7eae62a

กรณีของฉัน:ฉันต้องติดตั้ง Apache Cassandra ฉันติดตั้ง Python3 ไว้ในไดรฟ์ D:แล้ว ด้วยงานพัฒนาจำนวนมากภายใต้กระบวนการฉันไม่ต้องการยุ่งกับการติดตั้ง Python3 ของฉัน และฉันต้องการ Python2 สำหรับ Apache Cassandra เท่านั้น

ดังนั้นฉันจึงทำตามขั้นตอน:

  1. ดาวน์โหลด & ติดตั้ง Python2 แล้ว
  2. เพิ่มรายการ Python2 ใน classpath ( C:\Python27;C:\Python27\Scripts)
  3. python.exeดัดแปลงเป็นpython2.exe (ดังแสดงในภาพด้านล่าง)

ป้อนคำอธิบายรูปภาพที่นี่

  1. ตอนนี้ฉันสามารถรันทั้งสองได้แล้ว สำหรับ Python 2 ( python2 --version) & Python 3 ( python --version) ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นการติดตั้ง Python3 ของฉันจึงยังคงเหมือนเดิม


1

ฉันคิดว่ามีตัวเลือกในการตั้งค่าการเชื่อมโยงไฟล์ windows สำหรับไฟล์. py ในโปรแกรมติดตั้ง ยกเลิกการเลือกและคุณควรจะสบายดี

หากไม่เป็นเช่นนั้นคุณสามารถเชื่อมโยงไฟล์. py ซ้ำกับเวอร์ชันก่อนหน้าได้อย่างง่ายดาย วิธีที่ง่ายที่สุดคือการคลิกขวาที่ไฟล์. py เลือก "open with" / "select program" ในกล่องโต้ตอบที่ปรากฏขึ้นให้เลือกหรือเรียกดูเวอร์ชันของงูหลามที่คุณต้องการใช้เป็นค่าเริ่มต้นและทำเครื่องหมายที่ช่องทำเครื่องหมาย "ใช้โปรแกรมนี้เพื่อเปิดไฟล์ประเภทนี้ทุกครั้ง"


นี่คือสิ่งที่ฉันทำ ฉันยังมี 2.5.2 และ 3.0.1 ในกล่อง Windows Vista ของฉัน ฉันไม่ได้ตรวจสอบว่าในตัวช่วยสร้างการติดตั้ง (อาจพูดอะไรบางอย่างเช่น "ลงทะเบียนด้วยระบบ" - ฉันลืม) ทำงานได้ดีทั้งคู่ สำหรับสิ่งที่บรรทัดคำสั่งฉันใส่ไฟล์ py.bat ในเส้นทางของฉันที่เริ่มต้นหลาม 3 - ไม่มีอะไรแฟนซี แต่ทำในสิ่งที่ฉันต้องการ
Anon

1

คุณควรตรวจสอบให้แน่ใจว่าตัวแปรสภาพแวดล้อม PATH ไม่มีไฟล์ python.exe ทั้งสอง (เพิ่มไฟล์ที่คุณใช้เพื่อเรียกใช้สคริปต์ในแต่ละวัน) หรือทำตามที่ Kniht แนะนำกับไฟล์แบตช์ นอกเหนือจากนั้นฉันไม่เห็นสาเหตุ

PS: ฉันมี 2.6 ติดตั้งเป็นงูหลาม"หลัก"ของฉันและ 3.0 เป็นงูหลาม"เล่น"ของฉัน 2.6 จะรวมอยู่ในเส้นทาง ทุกอย่างทำงานได้ดี


1

ก่อนที่ฉันจะติดตั้งอย่างกล้าหาญทั้งสองอย่างพร้อมกันฉันมีคำถามมากมาย ถ้าฉันให้ไพ ธ อนมันจะไปที่ py3 เมื่อฉันต้องการ py2? pip / virtualenv จะเกิดขึ้นภายใต้ py2 / 3 หรือไม่

ตอนนี้ดูเหมือนจะง่ายมาก

เพียงแค่ติดตั้งทั้งคู่ ตรวจสอบให้แน่ใจว่าคุณได้ประเภทที่ถูกต้อง (x64 / x32) ขณะ / หลังการติดตั้งให้แน่ใจว่าคุณเพิ่มไปยังเส้นทางที่คุณตัวแปรสภาพแวดล้อม

[ENVIRONMENT]::SETENVIRONMENTVARIABLE("PATH", "$ENV:PATH;C:\PYTHONx", "USER")

แทนที่ x ในคำสั่งด้านบนเพื่อตั้งค่าพา ธ

จากนั้นไปที่โฟลเดอร์ทั้งสอง

นำทางไปยัง

python3.6/Scripts/

และเปลี่ยนชื่อ pip เป็น pip3

หาก pip3 มีอยู่แล้วให้ลบ pip นี้จะให้แน่ใจว่าเพียงแค่จุดเล็ก ๆ จะทำงานภายใต้python2 คุณสามารถตรวจสอบโดย:

pip --version

ในกรณีที่คุณต้องการใช้ pip กับpython3 ให้ใช้

pip3 install 

คุณสามารถทำเช่นเดียวกันกับไฟล์หลามและอื่น ๆ

ไชโย!


1

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


0

ฉันจะสมมติว่าฉันติดตั้ง Python 2.4, 2.5 และ 2.6 บนคอมพิวเตอร์เครื่องเดียวกัน


การทำงานของฉันสำหรับ 2.x หลายรุ่น แต่ minty ถามว่าพวกเขาสามารถเรียกใช้ 2.x พร้อมกับ 3.x มีความแตกต่างที่สำคัญระหว่างทั้งสอง ดู: ความแตกต่างระหว่าง 2.x และ 3.x
Cale Sweeney

0

ฉันเพิ่งเริ่มต้นกับงูใหญ่ตอนนี้ ฉันกำลังอ่านหนังสือของ Zed Shaw "Learn Python the Hard Way" ซึ่งต้องใช้ python เวอร์ชั่น 2.x แต่ฉันกำลังเรียนที่ต้องใช้ python 3.x ด้วย

ดังนั้นนี่คือสิ่งที่ฉันทำ

  1. ดาวน์โหลด python 2.7
  2. รัน power shell (ควรติดตั้งบน windows แล้ว)
  3. เรียกใช้ python ใน POWERSHELL (หากไม่รู้จักให้ไปที่ขั้นตอนที่ 4)
  4. เฉพาะในกรณีที่ PowerShell ไม่รู้จัก python 2.7ในประเภทต่อไปนี้:

"[สภาพแวดล้อม] :: SETENVIRONMENTVARIABLE (" PATH "," $ ENV: PATH; C: \ PYTHON27 "," USER ")" (ไม่มีเครื่องหมายคำพูดนอก)

  1. ตอนนี้พิมพ์ python และคุณควรเห็นมันว่า python 2.7 blah blah blah

ตอนนี้สำหรับ python 3.x

ดาวน์โหลด python 3.x แบบเรียบง่ายมาพร้อมกับแอพ python สำหรับ windows ดังนั้นเพียงแค่ปักหมุดแอพ Python สำหรับ Windows ลงในทาสก์บาร์ของคุณหรือสร้างทางลัดไปยังเดสก์ท็อปแล้วเสร็จ!

เปิด Python สำหรับ Windows สำหรับ 3.x

เปิด Powershell สำหรับ python 2.x

ฉันหวังว่านี่จะช่วยได้!


0

อืม .. ฉันทำสิ่งนี้ตอนนี้เพียงแค่ดาวน์โหลด Python 3.6.5 สำหรับ Windows ที่https://www.python.org/downloads/release/python-365/และให้แน่ใจว่าจะติดตั้งตัวเรียกใช้งาน จากนั้นฉันทำตามคำแนะนำสำหรับการใช้ python 2 และ python 3 รีสตาร์ทพรอมต์คำสั่งแล้วใช้py -2.7เพื่อใช้ Python 2 และpyหรือpy -3.6เพื่อใช้ Python 3 นอกจากนี้คุณยังสามารถใช้pip2สำหรับ Python 2 pipและpipPython 3 ได้pipอีกด้วย


0

ฉันมีปัญหาเดียวกันกับที่ฉันต้องการใช้ python3 สำหรับการทำงานส่วนใหญ่ แต่ IDA pro ต้องการ python2 ดังนั้นนี่คือสิ่งที่ฉันทำ

ฉันแรกสร้าง 3 ตัวแปรในตัวแปรสภาพแวดล้อมของผู้ใช้ดังนี้

  1. PYTHON_ACTIVE: ตอนนี้ว่างเปล่า
  2. HOME_PYTHON27: มีเส้นทางไปยังโฟลเดอร์ที่ติดตั้ง Python 2 ไว้ เช่น. "; สคริปต์ /;"
  3. HOME_PYTHON38: คล้ายกับ python 2 ตัวแปรนี้มีเส้นทางไปยังโฟลเดอร์ python 3

ตอนนี้ฉันเพิ่ม

% PYTHON_ACTIVE%

ถึงตัวแปร PATH ดังนั้นโดยทั่วไปแล้วบอกว่าอะไรก็ตามที่ประกอบด้วย "PYTHON_ACTIVE" คืองูหลามที่ใช้งานอยู่ เราเปลี่ยนการบรรจุของ "PYTHON_ACTIVE" โดยทางโปรแกรมเพื่อสลับรุ่นหลาม

นี่คือตัวอย่างสคริปต์:

:: This batch file is used to switch between python 2 and 3.
@ECHO OFF

set /p choice= "Please enter '27' for python 2.7 , '38' for python 3.8 : "

IF %choice%==27 (
setx PYTHON_ACTIVE %HOME_PYTHON27%
)

IF %choice%==38 (
setx PYTHON_ACTIVE %HOME_PYTHON38%
)


PAUSE

สคริปต์นี้ใช้ไพ ธ อนเป็นอินพุตและจึงคัดลอก HOME_PYTHON27 หรือ HOME_PYTHON38 ไปที่ PYTHON_ACTIVE ดังนั้นการเปลี่ยนเวอร์ชั่น Python ทั่วโลก

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