2011-04-10 66 views
2

我有需要跨平台编译的python扩展代码,为此,我需要能够找到python include文件夹。在Linux和Mac OSX上,我可以做python-config --include,它给了我一些像-I/Library/Frameworks/Python.framework/Versions/6.3/include/python2.6。这是好的和丹迪,除了我的Windows python发行版没有。有没有一种简单的方法,通过Python代码找到它认为包含文件夹的位置?对于numpy,这个片段做这项工作:查找python包含文件夹的跨平台方法

try: 
    numpy_include = numpy.get_include() 
except AttributeError: 
    numpy_include = numpy.get_numpy_include() 

是否有蟒蛇类似的方法,包括文件夹?

+0

我不认为有什么方法可以找到实际的包含文件夹。我认为你只需要看看python-config是否存在,如果不能用你能想到的许多不同的路径名猜测:|。 – JackMc 2011-04-10 19:47:05

回答

4

你可以试试这个:

>>> from distutils import sysconfig 
>>> sysconfig.get_python_inc() 
'/usr/include/python2.6' 
>>> sysconfig.get_python_inc(plat_specific=True) 
'/usr/include/python2.6' 

注:我发现了这一点,通过观察来源。

+0

在Python 2.7和3.2中,'sysconfig'已被扩展并扩展到标准库中的自己的模块,独立于'distutils':http://docs.python.org/library/sysconfig.html,例如, 'sysconfig.get_path( '包括')' – 2011-04-10 19:58:37

相关问题