วิธีค้นหาไดเรกทอรีการติดตั้ง python บน Ubuntu


47

ฉันเพิ่งจะย้ายจากสภาพแวดล้อม Windows ฉันติดตั้ง Python 3.2 ในไดเรกทอรีแยกต่างหาก ฉันจะขอรับเส้นทางการติดตั้ง python ในเชลล์ของ Ubuntu ได้อย่างไร

มีวิธีใดบ้างที่ฉันจะอนุญาตให้เชลล์รู้ / เลือก ณ รันไทม์ว่าจะใช้ไพ ธ อนรุ่นใดสำหรับการประมวลผลโค้ดเพิ่มเติม?

มีตัวแปรสภาพแวดล้อมและเส้นทางการค้นหาของชนิดใน Ubuntu Linux ด้วยหรือไม่

คำตอบ:


63

คำถามแรก:

which pythonแม้ว่ามันมักจะ/usr/bin/pythonเป็น 2.7

คำถามที่สอง:

จาก python2.7 ขั้ว python2.7 yourfile.py&:
Simailarly สำหรับ 3.2: python3.2 yourfile.pyแม้ว่า 3.2 จะไม่ได้รับการติดตั้งโดยค่าเริ่มต้น (คุณสามารถapt-get install python3.2)

สิ่งที่python yourfile.pyจะทำขึ้นอยู่กับว่าจะใช้ตัวเลือกอื่นสำหรับล่ามไพ ธ อน คุณสามารถเปลี่ยนได้โดยออกupdate-alternatives pythonเป็นroot(หรือโดยใช้su)

คำถามที่สาม:

ตัวแปรสภาวะแวดล้อมขึ้นอยู่กับเชลล์แม้ว่าคุณจะสามารถเขียนมันออกมาecho $variableและตั้งค่าด้วยvariable=value(จากbash) เส้นทางการค้นหาเป็นเพียงการเรียกและคุณสามารถได้รับของคุณโดยการพิมพ์PATHecho $PATH

ฉันหวังว่านี่จะเป็นประโยชน์


ขอบคุณ @Wolfer! คำตอบก็มีประโยชน์และชื่นชมมาก ถ้ามีคนอย่างฉันเปลี่ยนเส้นทางการติดตั้ง python 3 เป็นค่าเริ่มต้นแล้ว .. ? ฉันจะตรวจสอบเส้นทางและเรียกใช้งานเวอร์ชันนี้ได้อย่างไร
Avi Mehenwal

นอกจากนี้ฉันไม่ได้รับผลลัพธ์ใด ๆ สำหรับ $ echo $ variable
Avi Mehenwal

3
which python2.7และwhich python3.2จะส่งคืนพา ธ การติดตั้งของล่ามแต่ละรายการ (หรือไม่ส่งคืนสิ่งใดหากไม่ได้ติดตั้ง)
Wolfer

34

หากคุณต้องการค้นหาตำแหน่งของโปรแกรมที่คุณสามารถwhereis <program>ใช้ได้

ในกรณีที่คุณเรียกใช้:

whereis python2.7
whereis python3.2

สำหรับการค้นหาทุกไฟล์ที่ apt-get ได้คัดลอกมาเพื่อใช้ในการติดตั้ง:

dpkg -S python2.7
dpkg -S python3.2

แต่ควรแนะนำให้ทำการบันทึกไว้ใน textfile เพราะผลลัพธ์จะใหญ่

dpkg -S python2.7 >log.txt
gedit log.txt

สำหรับการเรียกใช้ไฟล์. py ด้วย python 3.2

python3.2 <file.py>

1
ขอบคุณ @ โทมัส! คำสั่งนี้ 'whereis python2.7' กำลังแสดงเส้นทางจำนวนมาก แต่ฉันคิดว่าจะต้องมีไดเรกทอรีการติดตั้งหลามเดียว!
Avi Mehenwal

1
dpkg -S python2.7 แสดงไฟล์ทั้งหมดของ python2.7 "/usr/lib/python2.7" เป็นไดเรกทอรีของ python2.7
Thomas15v

ฉันสับสนเล็กน้อย / usr / bin / python เป็นค่าเริ่มต้น shebang ที่เราใช้ในขณะที่แพคเกจ python อยู่ที่ /usr/lib/python2.7? มันเป็นเรื่องจริงเหรอ?
Avi Mehenwal

/ usr / lib / python เป็นโปรแกรม ใน linux evry ไฟล์สามารถเป็นโปรแกรม ถ้าคุณมาจากหน้าต่างมันจะสับสน
Thomas15v

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