หากคุณไม่ต้องการแพ็กเกจหลามสำหรับผู้ใช้ทั้งหมดคุณสามารถติดตั้งได้ในบ้านของคุณดังนี้:
pip install --user packagename
การติดตั้งในบ้านของคุณจะไม่ขัดแย้งกับผู้จัดการบรรจุภัณฑ์
โดยค่าเริ่มต้นpip install --user
จะติดตั้งในไดเรกทอรี "ไซต์ผู้ใช้" ของคุณ /home/lesmana/.local/lib/python3.6/site-packages
โดยปกติแล้วว่าเป็นสิ่งที่ต้องการ:
คำสั่งต่อไปนี้จะพิมพ์ที่ตั้ง "ไซต์ผู้ใช้" ของคุณ:
python -m site
ในการปรับแต่งตำแหน่งการติดตั้ง:
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
สิ่งนี้จะติดตั้งทุกสิ่งภายใต้ $HOME/some/dir
วิ่ง:
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
ดูคู่มือ pipสำหรับข้อมูลเพิ่มเติม
/opt
ถ้าคุณไม่ต้องการแพคเกจหลามสำหรับผู้ใช้ทั้งหมดแล้วสถานที่ที่ดีที่สุดในการติดตั้งคือ เช่นนี้:
PYTHONUSERBASE=/opt/packagedir pip install packagename
(บันทึกที่หายไป--user
)
และเพื่อทำงานตามที่กล่าวไว้ข้างต้น:
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
คำอธิบายพื้นหลัง: /opt
โดยทั่วไปจะได้รับการยอมรับจากการกระจาย gnu / linux เป็นไดเรกทอรีที่ผู้ใช้ท้องถิ่นหรือผู้ดูแลระบบสามารถติดตั้งสิ่งของของตัวเอง ในคำอื่น ๆ : /opt
ผู้จัดการแพคเกจของการกระจายมักจะไม่ได้สัมผัส นี้จะมากหรือน้อยกว่ามาตรฐานในระบบแฟ้มลำดับชั้นมาตรฐาน
เพื่อความสะดวกสบายสำหรับผู้ใช้ที่คุณจะยังคงต้องการที่จะเขียนสคริปต์เสื้อคลุมและวางไว้ในหรือ/bin
/usr/bin
สิ่งนี้ยังคงมีความเสี่ยงในการชนกับตัวจัดการแพ็คเกจการแจกจ่าย แต่อย่างน้อยมันก็เป็นไฟล์สคริปต์ตัวแรปเปอร์เพียงไฟล์เดียว ดังนั้นความเสียหายที่อาจเกิดขึ้นจึงมีน้อยมาก คุณสามารถตั้งชื่อสคริปต์ของ wrapper เช่นlocal-foo
หรือcustom-foo
เพื่อลดความเสี่ยงของการชนกับตัวจัดการแพ็คเกจการแจกจ่าย
หรือคุณสามารถปรับเปลี่ยนPATH
เพื่อรวม/opt/bin
และวางสคริปต์ตัวตัดคำของคุณที่นั่น แต่สิ่งนี้ต้องการให้คุณแก้ไขไฟล์ระบบ (หรือบางส่วน) PATH
อีกครั้งซึ่งมีการกำหนดซึ่งอาจถูกเขียนทับโดยตัวจัดการแพคเกจการกระจายอีกครั้ง
กล่าวโดยย่อ: หากคุณต้องการติดตั้งสำหรับผู้ใช้ทั้งหมดให้ทำเช่น/opt
นั้น ที่ที่คุณวางสคริปต์ตัวตัดเพื่อความสบายเป็นการเรียกวิจารณญาณ
ข้อมูลเพิ่มเติมเกี่ยวกับ/opt
และลำดับชั้นของมาตรฐานระบบไฟล์: