我知道在通过Homebrew安装Python后,我的include目录就在这里:
/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7
有没有办法让Python告诉我include / lib目录在哪里?有点像:
python -c "import sys; print '\n'.join(sys.path)"
答案 0 :(得分:18)
我想,必须有更简单的方法从Python中执行此操作,当然,在标准库中也有。使用sysconfig
中的get_paths
:
from sysconfig import get_paths
from pprint import pprint
info = get_paths() # a dictionary of key-paths
# pretty print it for now
pprint(info)
{'data': '/usr/local',
'include': '/usr/local/include/python2.7',
'platinclude': '/usr/local/include/python2.7',
'platlib': '/usr/local/lib/python2.7/dist-packages',
'platstdlib': '/usr/lib/python2.7',
'purelib': '/usr/local/lib/python2.7/dist-packages',
'scripts': '/usr/local/bin',
'stdlib': '/usr/lib/python2.7'}
您还可以使用-m
开关和sysconfig
来获取所有配置值的完整输出。
这应该是OS / Python版本无关,在任何地方使用它。 : - )
答案 1 :(得分:6)
在我的电脑上,命令为python-config --includes
。确保使用安装了自制软件的python-config
,而不是默认的。{/ p>
答案 2 :(得分:0)
我的一线解决方案是
python -c "from sysconfig import get_paths as gp; print(gp()['include'])"
如果要将代码嵌入Unix shell(例如bash)中,则必须使用转义的双引号。
python -c "from sysconfig import get_paths as gp; print(gp()[\"include\"])"