จะปิดการใช้งานตะขอนำเข้า SDK ของ Google App Engine python ได้อย่างไร

ฉันกำลังเล่นกับ GAE python SDK ในเครื่อง โค้ดที่ฉันพยายามเรียกใช้มีไลบรารีภายนอกจำนวนมากซึ่งไม่ได้เป็นส่วนหนึ่งของรายการที่อนุญาตพิเศษของการนำเข้า GAE ฉันต้องการปิดการใช้งานข้อจำกัดการนำเข้าและให้แอป GAE นำเข้าโมดูลที่ติดตั้งในเครื่อง

หลังจากอ่านโค้ดแล้ว ฉันพบว่าพวกเขาใช้ hooks การนำเข้า แบบกำหนดเองเพื่อจำกัดการนำเข้า อย่างไรก็ตาม ฉันไม่สามารถทราบวิธีปิดการใช้งาน hook การนำเข้าที่ถูกแทนที่ได้

แจ้งให้เราทราบหากคุณมีความคิดใด ๆ ว่าสิ่งนี้สามารถบรรลุผลสำเร็จได้อย่างไร


person AKG    schedule 19.02.2013    source แหล่งที่มา
comment
ถ้าฉันเข้าใจถูกต้องคุณก็แค่ต้องการรวมไลบรารีบุคคลที่สาม.. ถูกต้องไหม?   -  person Lipis    schedule 19.02.2013
comment
เป็นไปได้ที่ซ้ำกันของ วิธีรวม python libs ของบุคคลที่สามใน google ภาคผนวก?   -  person Lipis    schedule 19.02.2013
comment
ฉันมีไลบรารีบุคคลที่สามจำนวนมากที่ใช้ในโค้ดของฉัน และแทบจะเป็นไปไม่ได้เลยสำหรับฉันที่จะไวท์ลิสต์ไลบรารีทั้งหมดทั้งหมด ที่นี่ ฉันแค่อยากจะลบเช็คที่ฉันคิดว่าจะช่วยแก้ปัญหาของฉันได้   -  person AKG    schedule 19.02.2013


คำตอบ (1)


สิ่งที่ง่ายที่สุดคือการแก้ไข google/appengine/tools/dev_appserver_import_hook.py และเพิ่มโมดูลที่คุณต้องการในรายการที่อนุญาต

ซึ่งจะช่วยให้คุณสามารถนำเข้าสิ่งที่คุณต้องการได้

ขณะนี้มีเหตุผลที่ดีที่การนำเข้าถูกจำกัดในเซิร์ฟเวอร์การพัฒนา การนำเข้าแบบจำกัดตรงกับสิ่งที่มีอยู่ในสภาพแวดล้อมการใช้งานจริง ดังนั้น หากคุณเพิ่มไลบรารีลงในไวท์ลิสต์ โค้ดของคุณอาจทำงานบนเซิร์ฟเวอร์การพัฒนาในเครื่องของคุณ แต่จะไม่ทำงานในสภาพแวดล้อมการใช้งานจริง

และไม่ คุณไม่สามารถนำเข้าโมดูลที่ถูกจำกัดในการผลิตได้

person dragonx    schedule 19.02.2013
comment
รหัสนี้เป็นส่วนหนึ่งของโครงการวิจัยและจะไม่ถูกนำมาใช้ในการผลิต ฉันรู้เกี่ยวกับการไวท์ลิสต์โมดูล แต่เมื่อพิจารณาว่าโค้ดของฉันขึ้นอยู่กับไลบรารีของบุคคลที่สามจำนวนมาก จึงแทบจะเป็นไปไม่ได้เลยที่ฉันจะไวท์ลิสต์โมดูลเหล่านั้นทีละรายการ - person AKG; 19.02.2013
comment
คุณสามารถค้นหาโค้ดใน SDK ที่ค้นหาผ่านไวท์ลิสต์ และแก้ไขให้ไวท์ลิสต์ทุกอย่างได้ มันอยู่ในไฟล์เดียวกัน - person dragonx; 19.02.2013
comment
การแก้ไขเฉพาะเช็คในรายการที่อนุญาตจะไม่ทำงาน เนื่องจากการตรวจสอบ is_file_accessible จะล้มเหลว ฉันแสดงความคิดเห็นเกี่ยวกับเช็คนั้นด้วย แต่ตอนนี้ฉันประสบปัญหาอื่นแล้ว ฉันจะโพสต์การอัปเดตทันทีที่ฉันจัดการเพื่อแก้ไขปัญหานี้ - person AKG; 20.02.2013