नहीं मिल सकता है मैं एक एक्सटेंशन अनुभाग, जो कुछ इस तरह दिखता साथ एक distutils सेटअप स्क्रिप्ट है:distutils Python.h
from distutils.core import setup, Extension
my_module = Extension('my_module',
sources = ['my_file.c', 'my_other_file.c'])
setup (name = 'my_module',
version = '1.0',
description = 'My module',
ext_modules = [my_module])
setup.py build
चल रहा है पर मेरे मैक ठीक काम करता है। जब मैं एक डेबियन मशीन के लिए ले जाते हैं, यह विफल रहता है:
error: Python/Python.h: No such file or directory
मैं python2.6
और python2.6-dev
स्थापित किया है, और फ़ाइल /usr/include/Python2.6
पर मौजूद है।
आदेश यह समस्या फ़ाइल के लिए कार्यान्वित:
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c my_module.c -o -build/XYZ/my_module.o
तो यह हेडर फाइल के स्थान में गुजर रहा है।
मैक लिनक्स बनाम पर्यावरण के बीच केवल स्पष्ट अंतर जीसीसी-4.2 जीसीसी-4.4 और अजगर 2.7 बनाम अजगर 2,6
विचार बनाम है?
संपादित करें:
प्रश्न में सी फ़ाइल में:
#include <Python/Python.h>
#include <Python/structmember.h>
क्या आप उन दो पंक्तियों को केवल '# शामिल "Python.h" में बदलने की कोशिश कर सकते हैं और फिर संकलित कर सकते हैं? – YOU
मैंने किया, और ऐसा लगता है कि इसे ठीक करता है। कोई विचार यह मैक पर 'पायथन/पायथन एच' के साथ क्यों काम करेगा लेकिन लिनक्स पर नहीं? – Joe
मुझे लगता है कि यह बस स्थापना विकल्प के आधार पर निर्देशिका संरचना भिन्न है, लिनक्स के पास Python.h है /usr/include/python2.6/ के तहत लेकिन मैक शायद /usr/include/Python/Python.h के तहत है, लेकिन मेरे पास नहीं है मैक, तो यह कहना मुश्किल है कि मेरा मानना सही है या नहीं। – YOU