2012-01-26 9 views
6

का उपयोग करता है कृपया numpy के लिए सही पथ निर्धारित करने का सबसे सरल/सबसे सुरुचिपूर्ण तरीका क्या है क्योंकि वे लक्ष्य प्रणाली पर मौजूद हैं? और फिर कमांड बनाकर इसका इस्तेमाल करें? फिलहाल मैं उपयोग कर रहा हूँमेकफ़ाइल सी प्रोग्राम जो numpy एक्सटेंशन

जीसीसी ... मैं/usr/शामिल/python2.7/मैं/usr/lib/python2.7/साइट-संकुल/numpy/कोर/शामिल/numpy/

और मैं उन दोनों को स्वचालित रूप से उस सिस्टम के आधार पर चुना जाना चाहूंगा जिस पर बिल्ड पर आधारित है।

ऐसा लगता है जैसे मैं दूसरे प्राप्त कर सकते हैं इस तरह शामिल हैं:

python -c "import numpy; print numpy.__path__[0] + 'core/include/numpy/'" 

लेकिन मैं पहले एक के बारे में निश्चित नहीं हूँ और यहाँ तक कि अगर मैं था मैं अभी भी यकीन है कि कैसे करने के लिए सबसे अच्छा से इसका इस्तेमाल नहीं होगा makefile (एक आसान/सुरुचिपूर्ण तरीके से)

उत्तर

0

तो कुछ googling के बाद और इस experimentig है जो मैं के साथ आया था:

CFLAGS = $(shell python-config --includes) $(shell python -c "import numpy; print '-I' + numpy.__path__[0] + '/core/include/numpy/'") 

सुनिश्चित नहीं हैं कि यह कैसे विश्वसनीय है लेकिन यह सब मशीनों पर काम कर रहा है अब तक।

मैं स्थापित करने खोल उत्पादन से चर बनाने के रूप में mux द्वारा प्रस्तावित विधि मुझे

3

numpy.get_include() के लिए काम नहीं किया के लिए $ (खोल ...) का इस्तेमाल किया था सबसे आसान/सबसे अच्छा तरीका भी शामिल है पाने के लिए है। यदि आपका सी एक्सटेंशन मॉड्यूल numpy का उपयोग करता है तो Extension में आपको include_dirs=[numpy.get_include()] का उपयोग करना होगा। numpy.get_include() में ऐसा कोई प्रलेखन प्रतीत नहीं होता है जो मुझे नहीं पता।

तो फिर तुम क्या कर सकते हैं के रूप में user1056255 पता चलता है लेकिन सिर्फ एक सा बेहतर ...

CFLAGS = $(shell python-config --includes) $(shell python -c "import numpy; print '-I' + numpy.get_include()") 
संबंधित मुद्दे