Ubuntu18,Python面试基础技能罗列

本文指导读者在安装MultiNEAT过程中,如何修复因boost_python36和boost_numpy36缺失导致的编译错误,通过修改CMakeLists.txt和setup.py文件,选择对应Python 3.7的动态链接库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 然后,安装依赖库.

$ pip3 install psutil

$ tar -zxvf peter-ch-MultiNEAT-0dc93aa.tar.gz

$ cd peter-ch-MultiNEAT-0dc93aa

通过MN_BUILD环境变量来设置所需的系统(boost或cython)。

$ export MN_BUILD=boost

编译

$ python3.7 setup.py build_ext

$ python3.7 setup.py install

$ python3.7

Python 3.7.7 (default, Oct 3 2020, 12:01:51)

[GCC 7.5.0] on linux

Type “help”, “copyright”, “credits” or “license” for more information.

import MultiNEAT

MultiNEAT.str()

“<module ‘MultiNEAT’ from ‘/home/brainiac/Program/python3.7/lib/python3.7/site-packages/multineat-0.5-py3.7-linux-x86_64.egg/MultiNEAT/init.py’>”

[](

)安装过程遇到问题及解决方法


Note 如在编译时遇到如下问题:

$ python3.7 setup.py build_ext

/usr/bin/ld: cannot find -lboost_python36

/usr/bin/ld: cannot find -lboost_numpy36

collect2: error: ld returned 1 exit status

error: command ‘g++’ failed with exit status 1

由于已经安装了boost库,通过搜索boost_pythonboost_numpy可以发现,在/usr/lib/x86_64-linux-gnu目录中包含以下文件

libboost_numpy3.a

libboost_numpy3-py36.a

libboost_numpy3-py36.so

libboost_numpy3-py36.so.1.65.1

libboost_numpy3.so

libboost_numpy.a

libboost_numpy-py27.a

libboost_numpy-py27.so

libboost_numpy-py27.so.1.65.1

libboost_numpy.so

libboost_python3.a

libboost_python3-py36.a

libboost_python3-py36.so

libboost_python3-py36.so.1.65.1

libboost_python3.so

libboost_python.a

libboost_python-py27.a

libboost_python-py27.so

libboost_python-py27.so.1.65.1

libbo

ost_python-py36.a

libboost_python-py36.so

libboost_python.so

可以看到虽然不存在libboost_python36.solibboost_numpy36.so,但是存在libboost_python3-py36.solibboost_python3.solibboost_python.solibboost_numpy3-py36.solibboost_numpy-py27.solibboost_numpy.so,因此根据python版本可以选择使用对应的动态链接库,由于以python3.7为例,需要对文件进行修改。

使用以下方法:

在进行编译之前,首先需要修改目录下的以下两个文件.

$ vim CMakeLists.txt

修改line 15 & 16,将python36修改为python37numpy36修改为numpy3737即需要安装MultiNEAT的python版本号,可以根据需要进行修改,修改后如下:

find_package(Boost COMPONENTS

date_time

system

filesystem

python37

numpy37

serialization)

$ vim setup.py

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
numpy37

serialization)

$ vim setup.py

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值