จะบอก Python waf ได้อย่างไรว่าจะวางแพ็คเกจไว้ที่ไหน? มันสามารถทำงานร่วมกับ virtualenv ได้หรือไม่?

ฉันกำลังพยายามติดตั้งแพ็คเกจ waf สำเร็จรูป (py2cairo) ในไดเร็กทอรีที่ฉันเลือก ตามหลักการแล้วใน virtualenv site-packages ของฉัน นี่ควรจะง่าย แต่ดูเหมือนฉันไม่สามารถทำแบบนั้นได้

$ sudo ./waf install
  ./options()
Waf: Entering directory `/tmp/py2cairo-1.10.0/build_directory'
  ./build()
  src/build()
- install /usr/local/include/pycairo/pycairo.h (from src/pycairo.h)
+ install /usr/local/lib/python2.6/site-packages/cairo/_cairo.so (from build_directory/src/_cairo.so)
+ install /usr/local/lib/pkgconfig/pycairo.pc (from pycairo.pc)
Waf: Leaving directory `/tmp/py2cairo-1.10.0/build_directory'
- install /usr/local/lib/python2.6/site-packages/cairo/__init__.py (from src/__init__.py)
+ byte compiling '/usr/local/lib/python2.6/site-packages/cairo/__init__.py'
'install' finished successfully (0.130s)

ฉันต้องการเปลี่ยน /usr/local/lib/python2.6/site-packages/cairo/__init__.py เป็นสิ่งที่ฉันเลือก ฉันไม่พบตัวเลือกการกำหนดค่าที่เหมาะกับฉัน

คำสั่ง --prefix เพิ่มคำนำหน้าให้กับสตริง แต่ไม่เปลี่ยนแปลง --destdir ดูเหมือนจะไม่สร้างความแตกต่าง


person Joe    schedule 13.04.2012    source แหล่งที่มา
comment
นั่นเป็นการโหวตลงแบบขี้เกียจ เกิดอะไรขึ้นกับคำถาม?   -  person Joe    schedule 13.04.2012


คำตอบ (2)


แก้ไข: หากนักพัฒนาไม่ได้ใช้ตัวเลือกดังกล่าว --prefix คือทั้งหมดที่คุณได้รับ

คุณสามารถขุดผ่านมันด้วยตัวเองและเพิ่มตัวเลือกดังกล่าวซึ่งใช้วิธีการ .install_as , .symlink_as, .install_files

สำหรับรายละเอียด โปรดดูที่ wafbook บทที่ 4.2.2

person drahnr    schedule 13.04.2012
comment
ขอบคุณมาก ๆ. ฉันมีความรู้สึกว่านี่อาจเป็นกรณีนี้ ฉันต้องการให้สิ่งต่าง ๆ เรียบง่ายที่สุดเท่าที่จะเป็นไปได้เพราะ 1 - ฉันต้องการที่จะติดตั้งสิ่งนี้โดยอัตโนมัติเพื่อความสะดวกในการกำหนดค่าเซิร์ฟเวอร์ และ 2 - ฉันไม่จำเป็นต้องรู้ว่าไดเร็กทอรีแพ็คเกจไซต์ของฉันอยู่ที่ไหนหากฉันใช้ virtualenv - person Joe; 15.04.2012
comment
ฉันยอมรับชะตากรรมของฉัน และอนุญาตให้ติดตั้งในแพ็คเกจไซต์ส่วนกลาง - person Joe; 16.04.2012

มีข้อโต้แย้งที่คุณสามารถใช้ร่วมกับ .waf install เพื่อระบุตำแหน่ง:

./waf install --destdir=/tmp/package

person Brian Monroe    schedule 05.09.2015