ไม่มีสภาพแวดล้อมเสมือนจริง
pip <command> --user
เปลี่ยนขอบเขตของคำสั่ง pip ปัจจุบันให้ทำงานกับตำแหน่งการติดตั้งแพ็กเกจหลามของบัญชีผู้ใช้ปัจจุบันแทนตำแหน่งการติดตั้งแพ็กเกจทั้งระบบซึ่งเป็นค่าเริ่มต้น
สิ่งนี้สำคัญมากสำหรับเครื่องที่มีผู้ใช้หลายคนเท่านั้น สิ่งที่ติดตั้งไปยังตำแหน่งของระบบจะปรากฏแก่ผู้ใช้ทุกคนดังนั้นการติดตั้งไปยังตำแหน่งของผู้ใช้จะทำให้การติดตั้งแพ็กเกจนั้นแยกจากผู้ใช้รายอื่น (พวกเขาจะไม่เห็นมันและจะต้องติดตั้งแยกต่างหากเพื่อใช้งาน) เนื่องจากอาจมีข้อขัดแย้งของรุ่นการติดตั้งแพคเกจที่ต้องขึ้นต่อกันตามแพ็คเกจอื่นอาจทำให้เกิดปัญหาดังนั้นจึงเป็นการดีที่สุดที่จะไม่ส่งแพคเกจทั้งหมดที่ผู้ใช้กำหนดไปยังตำแหน่งติดตั้งระบบ
- หากเป็นเครื่องที่มีผู้ใช้คนเดียวไม่มีความแตกต่างเล็กน้อยในการติดตั้งไปยัง
--user
ตำแหน่ง มันจะถูกติดตั้งในโฟลเดอร์อื่นที่อาจจะหรืออาจไม่จำเป็นต้องเพิ่มลงในพา ธ ขึ้นอยู่กับแพ็กเกจและวิธีการใช้งาน (แพคเกจจำนวนมากติดตั้งเครื่องมือบรรทัดคำสั่งที่ต้องอยู่ในพา ธ เพื่อเรียกใช้จากเชลล์) .
- หากเป็นเครื่องที่มีผู้ใช้หลายคนขอ
--user
แนะนำให้ใช้รูท / sudo หรือต้องการการติดตั้งผู้ดูแลระบบและส่งผลกระทบต่อสภาพแวดล้อม Python ของผู้ใช้ทุกคนยกเว้นในกรณีของแพ็คเกจทั่วไปที่ผู้ดูแลระบบต้องการให้ผู้ใช้ทั้งหมดสามารถใช้งานได้
- หมายเหตุ: ต่อความคิดเห็นในส่วน Unix / Linux การติดตั้งจะได้รับการชี้ให้เห็นว่าการติดตั้งระบบควรใช้แพคเกจผู้จัดการทั่วไปเช่นมากกว่า
apt
pip
ด้วยสภาพแวดล้อมเสมือนจริง
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งแพคเกจกับสภาพแวดล้อมเสมือนในเอกสารประกอบการบรรจุงูหลาม
- อ่านเกี่ยวกับวิธีการสร้างและใช้สภาพแวดล้อมเสมือนและ
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
สำหรับผมผมได้