ไม่มีสภาพแวดล้อมเสมือนจริง
pip <command> --user เปลี่ยนขอบเขตของคำสั่ง pip ปัจจุบันให้ทำงานกับตำแหน่งการติดตั้งแพ็กเกจหลามของบัญชีผู้ใช้ปัจจุบันแทนตำแหน่งการติดตั้งแพ็กเกจทั้งระบบซึ่งเป็นค่าเริ่มต้น
สิ่งนี้สำคัญมากสำหรับเครื่องที่มีผู้ใช้หลายคนเท่านั้น สิ่งที่ติดตั้งไปยังตำแหน่งของระบบจะปรากฏแก่ผู้ใช้ทุกคนดังนั้นการติดตั้งไปยังตำแหน่งของผู้ใช้จะทำให้การติดตั้งแพ็กเกจนั้นแยกจากผู้ใช้รายอื่น (พวกเขาจะไม่เห็นมันและจะต้องติดตั้งแยกต่างหากเพื่อใช้งาน) เนื่องจากอาจมีข้อขัดแย้งของรุ่นการติดตั้งแพคเกจที่ต้องขึ้นต่อกันตามแพ็คเกจอื่นอาจทำให้เกิดปัญหาดังนั้นจึงเป็นการดีที่สุดที่จะไม่ส่งแพคเกจทั้งหมดที่ผู้ใช้กำหนดไปยังตำแหน่งติดตั้งระบบ
- หากเป็นเครื่องที่มีผู้ใช้คนเดียวไม่มีความแตกต่างเล็กน้อยในการติดตั้งไปยัง
--userตำแหน่ง มันจะถูกติดตั้งในโฟลเดอร์อื่นที่อาจจะหรืออาจไม่จำเป็นต้องเพิ่มลงในพา ธ ขึ้นอยู่กับแพ็กเกจและวิธีการใช้งาน (แพคเกจจำนวนมากติดตั้งเครื่องมือบรรทัดคำสั่งที่ต้องอยู่ในพา ธ เพื่อเรียกใช้จากเชลล์) .
- หากเป็นเครื่องที่มีผู้ใช้หลายคนขอ
--userแนะนำให้ใช้รูท / sudo หรือต้องการการติดตั้งผู้ดูแลระบบและส่งผลกระทบต่อสภาพแวดล้อม Python ของผู้ใช้ทุกคนยกเว้นในกรณีของแพ็คเกจทั่วไปที่ผู้ดูแลระบบต้องการให้ผู้ใช้ทั้งหมดสามารถใช้งานได้
- หมายเหตุ: ต่อความคิดเห็นในส่วน Unix / Linux การติดตั้งจะได้รับการชี้ให้เห็นว่าการติดตั้งระบบควรใช้แพคเกจผู้จัดการทั่วไปเช่นมากกว่า
aptpip
ด้วยสภาพแวดล้อมเสมือนจริง
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งแพคเกจกับสภาพแวดล้อมเสมือนในเอกสารประกอบการบรรจุงูหลาม
- อ่านเกี่ยวกับวิธีการสร้างและใช้สภาพแวดล้อมเสมือนและ
venvคำสั่งในเอกสารหลาม VENV
--userตัวเลือกในสภาพแวดล้อมที่ venv / virtualenv ใช้งานจะติดตั้งไปยังตำแหน่งของผู้ใช้หลามท้องถิ่น (เช่นเดียวกับที่ไม่มีสภาพแวดล้อมเสมือนจริง)
แพ็คเกจจะถูกติดตั้งในสภาพแวดล้อมเสมือนจริง แต่ถ้าคุณใช้--userมันจะบังคับให้ติดตั้งนอกสภาพแวดล้อมเสมือนในไดเรกทอรีสคริปต์ของผู้ใช้ python (ใน Windows ปัจจุบันนี้c:\users\<username>\appdata\roaming\python\python37\scriptsใช้กับ Python 3.7)
อย่างไรก็ตามคุณจะไม่สามารถเข้าถึงระบบหรือการติดตั้งของผู้ใช้จากภายในสภาพแวดล้อมเสมือน (แม้ว่าคุณจะใช้--userในขณะที่อยู่ในสภาพแวดล้อมเสมือน)
หากคุณติดตั้งสภาพแวดล้อมเสมือนจริงด้วย--system-site-packagesอาร์กิวเมนต์คุณจะสามารถเข้าถึงโฟลเดอร์สคริปต์ระบบสำหรับหลาม ฉันเชื่อว่าสิ่งนี้รวมถึงโฟลเดอร์สคริปต์ python ของผู้ใช้ด้วย แต่ฉันไม่แน่ใจ อย่างไรก็ตามอาจมีผลกระทบที่ไม่ตั้งใจสำหรับสิ่งนี้และมันไม่ใช่วิธีที่ตั้งใจจะใช้สภาพแวดล้อมเสมือน
ตำแหน่งของ Python System และ Local User Install Folders
คุณสามารถค้นหาตำแหน่งของโฟลเดอร์การติดตั้งของผู้ใช้สำหรับไพpython -m site --user-baseธ อนได้ ฉันกำลังค้นหาข้อมูลที่ขัดแย้งกันในคำถาม & คำตอบเอกสารและการใช้คำสั่งนี้บนพีซีของฉันตามค่าเริ่มต้น แต่พวกเขาอยู่ภายใต้โฮมไดเร็กตอรี่ของผู้ใช้ ( ~ทางลัดใน * ระวังและc:\users\<username>โดยทั่วไปสำหรับ Windows)
รายละเอียดอื่น ๆ
--userตัวเลือกที่ไม่ได้เป็นที่ถูกต้องสำหรับทุกคำสั่ง ตัวอย่างเช่นpip uninstallจะค้นหาและถอนการติดตั้งแพ็กเกจไม่ว่าจะติดตั้งที่ไหน (ในโฟลเดอร์ผู้ใช้โฟลเดอร์สภาพแวดล้อมเสมือน ฯลฯ ) และ--userตัวเลือกไม่ถูกต้อง
สิ่งที่ติดตั้งด้วยpip install --userจะถูกติดตั้งในตำแหน่งท้องถิ่นที่จะเห็นได้เฉพาะบัญชีผู้ใช้ปัจจุบันและจะไม่ต้องการการเข้าถึงรูท (บน * นิกซ์) หรือการเข้าถึงของผู้ดูแลระบบ (บน Windows)
--userปรับเปลี่ยนตัวเลือกทุก pipคำสั่งที่ยอมรับมันเพื่อดู / ดำเนินการเกี่ยวกับผู้ใช้ติดตั้งโฟลเดอร์ดังนั้นหากคุณใช้pip list --userมันจะเพียงpip install --userแสดงให้คุณเห็นแพคเกจติดตั้งกับ
import site; print site.USER_SITEพิมพ์ตำแหน่งการติดตั้ง/${HOME}/.local/lib/python${PY_MAJOR}.${PY_MINOR}/site-packagesสำหรับผมผมได้