Score:1

เหตุใดจึงไม่สร้างลิงก์ sym จาก python ไปยัง python 3

ธง cn

เป้าหมายของฉันคือเพื่อให้แน่ใจว่า หลาม อ้างถึง หลาม3 ในเทอร์มินัล mac ของฉัน สิ่งที่ฉันได้ลองไปแล้วคือความพยายามสองครั้งต่อไปนี้

1. การเพิ่มนามแฝงใน .zshrc

นามแฝง python=python3

หลังจากการจัดหาของฉันอีกครั้ง .zshrc ไฟล์นี้อนุญาตให้ฉันพิมพ์ หลาม --version และรับ python3

สิ่งนี้ใช้ไม่ได้กับสคริปต์ตามที่ระบุ #!/usr/bin/env หลาม และเพิกเฉยต่อนามแฝงของฉันโดยสิ้นเชิง

2. เพิ่ม symlink จาก /usr/local/bin/python ถึง /usr/bin/python3

นี่คือตอนที่มันแปลก นี่คือผลลัพธ์ของคำสั่งบางส่วน

หลาม --version -> ไพธอน 2.7

ซึ่งหลาม -> หลาม /usr/local/bin/python.python

/usr/local/bin/python --version -> ไพธอน 2.7

ls -l /usr/local/bin/python -> /usr/local/bin/python -> /usr/bin/python3.dll

/usr/bin/python3 --version -> หลาม 3.8

เกิดอะไรขึ้นที่นี่? เหตุใด symlink จึงถูกต้อง แต่ python รุ่นที่ไม่ถูกต้องยังคงแสดงอยู่เมื่อใช้งาน

ฉันพบคำถามที่คล้ายกันในแอปเปิ้ลเก่า แต่คำตอบไม่ได้ระบุถึงความแปลกประหลาดของ symlink และไม่ได้แก้ปัญหา

ฉันอยากจะเข้าใจว่าทำไมสิ่งนี้จึงเกิดขึ้น และค้นหาวิธีแก้ไขหรือวิธีที่เหมาะสมในการทำให้เวอร์ชันไพธอนหลักของฉันเป็นไพธอน 3

ขอบคุณ!

tilleyc avatar
us flag
เป็นไปไม่ได้หรือไม่ที่จะอัปเดตสคริปต์ของคุณให้ชี้ไปที่เวอร์ชันที่คุณต้องการ ตัวอย่างเช่น เปลี่ยน `#!/usr/bin/env python` เป็น `#!/usr/bin/env python3`? เว้นแต่คุณจะแน่ใจในทุกสิ่งที่ใช้เวอร์ชันใดเวอร์ชันหนึ่ง ให้เปลี่ยนเวอร์ชันนั้นโดยการไม่อนุญาตทั้งหมดผ่านซอฟต์ลิงก์ มิฉะนั้นอาจมีผลที่ตามมาโดยไม่ได้ตั้งใจ
Nicola Pedretti avatar
cn flag
ฉันทำได้ และนั่นคือสิ่งที่ฉันทำ ฉันยังคงสงสัยเกี่ยวกับความแปลกประหลาดของ symlink tho ความคิดใด ๆ ?

โพสต์คำตอบ

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