问题描述

遇到一些问题,现在我阅读以下内容:

我尝试将boost安装到我的桌面上,并按照链接方面的建议完成操作。我有以下代码:

#include

#include

using namespace boost::python;

现在,我尝试与以下链接:

g++ testing.cpp -I /usr/include/python2.7/pyconfig.h -L /usr/include/python2.7/Python.h

-lpython2.7

我也尝试了以下方法:

g++ testing.cpp -I /home/username/python/include/ -L /usr/include/python2.7/Python.h -lpython2.7

我不断收到以下错误:

/usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such

file or directory

# include

我不知道我要去哪里错了。我确实安装了boost.python,但是链接有问题吗?

最佳办法

我只是有同样的错误,问题是g ++找不到pyconfig.h(令人震惊,我知道)。对我来说,此文件位于/usr/include/python2.7/pyconfig.h中,因此附加-I /usr/include/python2.7/应该可以解决该问题,或者您可以使用以下方式将目录添加到路径中:

export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/usr/include/python2.7/"

您也可以将其添加到.bashrc中,并在下次启动shell时将其添加(必须重新打开终端以实现更改)。

您可以使用find /usr/include -name pyconfig.h找到自己的python包含路径,在我的情况下,这将返回:

/usr/include/python2.7/pyconfig.h

/usr/include/i386-linux-gnu/python2.7/pyconfig.h

次佳办法

出现此现象的可能原因有两个:1.您没有安装python-dev。 2.您已安装python-dev,并且您的包含路径配置不正确,以上发布提供了解决方案。就我而言,我正在安装boost,它正在寻找ubuntu中缺少的pyconfig.h头文件:

解决方法是

apt-get install python-dev

在其他Linux版本中,您必须弄清楚如何安装python标头。

第三种办法

如果您有一个.c文件(hello.c),并且想要构建一个libhello.so库,请尝试:

find /usr/include -name pyconfig.h

[出]:

/usr/include/python2.7/pyconfig.h

/usr/include/x86_64-linux-gnu/python2.7/pyconfig.h

然后使用输出并执行:

gcc -shared -o libhello.so -fPIC hello.c -I /usr/include/python2.7/

如果您要从cython的.pyx转换为.so,请尝试使用以下python模块,给定.pyx文件,它将自动构建.so文件:

def pythonizing_cython(pyxfile):

import os

# Creates ssetup_pyx.py file.

setup_py = "\n".join(["from distutils.core import setup",

"from Cython.Build import cythonize",

"setup(ext_modules = cythonize('"+\

pyxfile+".pyx'))"])

with open('setup_pyx.py', 'w') as fout:

fout.write(setup_py)

# Compiles the .c file from .pyx file.

os.system('python setup_pyx.py build_ext --inplace')

# Finds the pyconfig.h file.

pyconfig = os.popen('find /usr/include -name pyconfig.h'\

).readline().rpartition('/')[0]

# Builds the .so file.

cmd = " ".join(["gcc -shared -o", pyxfile+".so",

"-fPIC", pyxfile+".c",

"-I", pyconfig])

os.system(cmd)

# Removing temporary .c and setup_pyx.py files.

os.remove('setup_pyx.py')

os.remove(pyxfile+'.c')

第四种办法

构建centos7的提升时,我也有类似的经历。我在系统上只能找到pyconfig-64.h找不到pyconfig.h。

搜索后,我发现您需要安装python-devel以获得pyconfig.h

参考资料

boost python错误_Ubuntu-链接boost.python-致命错误:找不到pyconfig相关推荐

  1. linux定时执行python脚本_ubuntu定时执行python脚本实例代码

    前言 本文将介绍ubuntu系统下如何定时执行shell脚本.python脚本,ubuntu系统有一个定时任务的管理器crontab,我们只需要编辑定时任务,然后重启定时任务服务就好了. cronta ...

  2. ubuntu上python编辑器_Ubuntu中安装python编辑器Ulipad

    由于在Windows中使用Ulipad一段时间了,尤其对于Python代码的编辑功能,我觉得目前还没有一款别的编辑器能与之媲美(当然Ulipad也有美中不足的地方).下面介绍一下在Linux下Ulip ...

  3. python错误-新手常见Python错误及异常解决处理方案

    写Python代码的小伙伴不可避免地会遇到代码执行错误和异常,这次就来详细且不失通俗地总结一下python中的错误和异常. 先抛出两个问题: 什么是Python错误和异常? 如何处理Python错误和 ...

  4. python常见错误-新手常见Python错误及异常解决处理方案

    写Python代码的小伙伴不可避免地会遇到代码执行错误和异常,这次就来详细且不失通俗地总结一下python中的错误和异常. 先抛出两个问题: 什么是Python错误和异常? 如何处理Python错误和 ...

  5. 怎么解决python遇到问题_新手常见Python错误及异常解决处理方案

    新手常见Python错误及异常解决处理方案,异常,错误,语句,子句,代码 新手常见Python错误及异常解决处理方案 易采站长站,站长之家为您整理了新手常见Python错误及异常解决处理方案的相关内容 ...

  6. 一日一技:一文搞懂Python错误和异常

    写Python代码的小伙伴不可避免地会遇到代码执行错误和异常,这次就来详细且不失通俗地总结一下python中的错误和异常. 先抛出两个问题: 什么是Python错误和异常? 如何处理Python错误和 ...

  7. python教程视频哪个好-Python入门视频哪个好?

    Python入门视频哪个好?假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程,那么这些Python入门教程将带你走入Python的大门.如果你希望真正学好一门语言,你还是需要亲 ...

  8. C++比Python快50倍?如何让C++和Python优势互补?(Boost::Python)

    目录 1 为什么需要多语言联合编程? 2 Python调用C++的主要方式 2.1 SWIG 2.2 Boost::Python 2.3 ctypes 3 Boost::Python安装 4 测试实例 ...

  9. boost::python模块实现使用任意 Python 序列创建 ndarray 的示例

    boost::python模块实现使用任意 Python 序列创建 ndarray 的示例 实现功能 C++实现代码 实现功能 boost::python模块实现使用任意 Python 序列创建 nd ...

  10. Python错误“ ImportError:未命名模块”

    Python安装在本地目录中. 我的目录树如下所示: (local directory)/site-packages/toolkit/interface.py 我的代码在这里: (local dire ...

最新文章

  1. TensorFlow练习16: 根据大脸判断性别和年龄
  2. 引用头文件报错 .pch引用不了其他的.h文件
  3. 页面仔 很丢人么?前端越来越不好干了
  4. leetcode —— 24. 两两交换链表中的节点
  5. Office 2010导致 VS2008 页面设计器无响应
  6. Java开发求职总结
  7. 视频教程-汇编语言程序设计-其他
  8. 基于CompactRIO的嵌入式车载电性能测试系统研发
  9. 短视频源码应该优化的六个方面
  10. 从零开始学习 JD CHAIN(一)- 快速部署 JD CHAIN
  11. Android 自定义ViewGroup 设置wrap_content无效解决办法。
  12. ORA-12505, TNS:listener does not currently know of SID given in connect descript
  13. 基于眼底照片的病理性近视眼及识别
  14. 带你了解2021世界人工智能大会上的AI新趋势
  15. Linux如何连接到WIFI网络
  16. python中可选参数是什么意思_什么是python的必选参数
  17. Bitvise SSH Client连接不上linux,“请求被积极拒绝”
  18. 堡垒机和防火墙的三大区别分析-行云管家
  19. WindowsBuilder管家婆记账软件
  20. 6.以表格单据式单表为模板定制模块:订单信息维护

热门文章

  1. prototype.js学习(2)
  2. 2018年全国卷Ⅰ卷理科数学图片版
  3. 卷积的发展历程,原理和基于 TensorFlow 的实现
  4. VMware克隆CentOS6.4后 eth0无法初始化
  5. 编译安装nginx并修改版本头信息—参考实例
  6. 谁会成为中国互联网下一代英雄
  7. Java中直接输出一个类的对象
  8. 算法学习——递归和排列组合
  9. python的for循环语句range_Python入门第7课,循环结构学习,for语句range函数的3种用法...
  10. java中do until_RxJava—takeUntil实践