2011-06-15 27 views
6

मेरा प्रोजेक्ट शुद्ध पायथन कोड, और ऑप्टिमाइज़ेशन के लिए साइथन एक्सटेंशन और सी पुस्तकालयों के साथ जोड़ने के लिए। मेरे पाइथन प्रोजेक्ट के लिए मेरे पास एक स्रोत पेड़ है, और एक साइथन और सी कोड के लिए है। मेरे साइथन एक्सटेंशन में प्रत्येक को बनाने के लिए setup.py फ़ाइल है। वास्तव में, प्रत्येक एक्सटेंशन के लिए, मैं निम्न कार्य करें:विशिष्ट स्थान पर पाइथन एक्सटेंशन स्थापित करें

python setup.py build_ext --inplace 
mv myext.so ../some/specific/place/ 

वहाँ distutils जहाँ मेरे एक्सटेंशन को इंस्टॉल करने के लिए निर्दिष्ट करने के लिए एक रास्ता है (यदि संभव हो तो, एक रिश्तेदार पथ का उपयोग), बजाय --inplacemv के बाद का उपयोग करने का? --prefix विकल्प का उपयोग करना अच्छा नहीं है, क्योंकि यह फ़ोल्डर्स का पदानुक्रम बनाता है जिसकी मुझे आवश्यकता नहीं है।

+0

क्या आप अपनी 'setup.py' की सामग्री डाल सकते हैं? –

उत्तर

9

मैं अंत में इस सवाल का जवाब मिल गया! विकल्प है -b (या --build_lib)

python setup.py build_ext -b ../some/specific/place/ 
+0

धन्यवाद - यह ध्यान दें कि यह '--build_lib' की बजाय' --build-lib' है – Giswok

0

शायद आप alternate installation distutils की कार्यक्षमता का उपयोग कर सकते हैं जो आपको बेकार पदानुक्रम फ़ोल्डरों को हटाने की अनुमति देगा।

इस तरह की कोशिश कुछ:

python setup.py install --home=../some/specific/place \ 
         --install-purelib=. \ 
         --install-platlib=. 
+1

ऐसा करने से वर्तमान निर्देशिका में मेरा एक्सटेंशन इंस्टॉल करें, जैसे --inplace। –

संबंधित मुद्दे