Ubuntu18.04系统中python3.7安装MultiNEAT库
Ubuntu18.04系统中python3.7安装MultiNEAT库
- 前言
- MultiNEAT介绍
- 安装问题
- boost安装
- MultiNEAT安装
- 安装过程遇到问题及解决方法
前言
MultiNEAT介绍
MultiNEAT支持标准的NEAT算法和两个关键的扩展:HyperNEAT和ES-HyperNEAT。另外,MultiNEAT库提供新奇搜索方法的实现。该库使用C ++编程语言编写,但提供了全面的Python接口。
安装问题
学习新奇搜索等进化神经算法时,需要用到MultiNEAT库,在安装时遇到了如下问题:
- 不能使用pip进行安装,在windows中可以利用
.whl
文件进行安装,而在ubuntu环境中,只能利用源码编译安装。 - 在安装MultiNEAT之前,首先需要安装boost,否则会报类似如下错误:
... ... src/PythonBindings.cpp:34:10: fatal error: boost/python.hpp: No such file or directory#include <boost/python.hpp>^~~~~~~~~~~~~~~~~~ compilation terminated. error: command 'gcc' failed with exit status 1
boost安装
使用apt命令安装boost库
$ sudo apt-get install libboost-all-dev
MultiNEAT安装
- 首先,下载MultiNEAT.
下载完成后得到peter-ch-MultiNEAT-0dc93aa.tar.gz
文件 - 然后,安装依赖库.
由于编译过程中会使用psutil
库,因此首先安装psutil
库。$ pip3 install psutil
- 解压.
$ tar -zxvf peter-ch-MultiNEAT-0dc93aa.tar.gz
- 编译MultiNEAT
$ 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_python
与boost_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
libboost_python-py36.a
libboost_python-py36.so
libboost_python.so
...
可以看到虽然不存在libboost_python36.so
和libboost_numpy36.so
,但是存在libboost_python3-py36.so
、libboost_python3.so
、libboost_python.so
、libboost_numpy3-py36.so
、libboost_numpy-py27.so
、libboost_numpy.so
,因此根据python版本可以选择使用对应的动态链接库,由于以python3.7为例,需要对文件进行修改。
使用以下方法:
在进行编译之前,首先需要修改目录下的以下两个文件.
- CMakeLists.txt
$ vim CMakeLists.txt
修改line 15 & 16,将python36
修改为python37
,numpy36
修改为numpy37
,37
即需要安装MultiNEAT的python版本号,可以根据需要进行修改,修改后如下:
......find_package(Boost COMPONENTSdate_timesystemfilesystempython37numpy37serialization)......
- setup.py
$ vim setup.py
修改line 114,将libs += ['boost_python36', "boost_numpy3"]
修改为libs += ['boost_python3', "boost_numpy3"]
修改后,相应部分如下
...libs = ['boost_system', 'boost_serialization']if is_python_2:libs += ['boost_python', "boost_numpy"]else:# with boost 1.67 you need boost_python3x and boost_numpy3x where x is python version 3.x libs += ['boost_python3', "boost_numpy3"] # in Ubuntu 14 there is only 'boost_python-py34'
...
然后重新编译安装、测试:
$ python3.7 setup.py clean
$ 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'>"
完成后,进行测试,可以发现已正确安装。
Ubuntu18.04系统中python3.7安装MultiNEAT库相关推荐
- 在Ubuntu18.04系统中,安装tldr
在Ubuntu18.04系统中,tldr的完整安装流程总结: mkdir -p ~/.tldr/tldr sudo git clone https://codechina.csdn.net/mirro ...
- ubuntu18.04系统中 matlab2019 和 sougou拼音冲突
ubuntu18.04 系统中 matlab2019 和 sogou拼音冲突 问题描述 只要是 matlab2019 和 sogou拼音 这俩东西在一起,我的matlab 就出问题,启动起来了之后也是 ...
- Linux用命令安装音乐软件,在Ubuntu 18.04系统中使用命令安装Qmmp音乐播放器的方法...
在Ubuntu 18.04操作系统中安装Qmmp音乐播放器非常简单,只需要两段命令就可以搞定.下面介绍其方法. Qmmp音乐播放器介绍 Qmmp是一款开源基于Qt的多媒体播放器,提供Qt4及Qt5支持 ...
- Ubuntu 16.04系统中利用CUDA安装更新NVIDIA显卡驱动程序的方法
严正声明:本文系作者davidhopper原创,未经许可,不得转载. 在ThinkPad系列笔记本电脑中使用过Ubuntu 16.04系统的同学都知道,NVIDIA显卡驱动程序特别难安装.以我使用的T ...
- Linux Ubuntu18.04系统 USB转串口驱动安装,查看串口号
When you plugin your USB-UART converter, and run "> ls /dev/tty*", if you don't see the ...
- Ubuntu18.04 系统下ROS Melodic安装
ROS官网:有一些在linux下的安装步骤说明 前期准备:更换国内源以及将"软件和更新"下的"可从互联网下载"的四个选项都勾选上. 安装步骤: 一. 添加ROS ...
- 虚拟机安装Ubuntu18.04系统
安装的镜像可在Ubuntu的官方网站进行下载. Ubuntu18.04的具体下载地址如下(iso格式): https://releases.ubuntu.com/18.04.5/ 下面开始进行安装. ...
- linux系统下载18.04,在Ubuntu 18.04系统中下载安装Persepolis Download Manager
本文介绍在Ubuntu 18.04系统中下载和安装Persepolis Download Manager的方法,也适用在Linux Mint版本中,它是一个用Python编写的免费开源下载管理器,支持 ...
- 源码编译Ros, Ubuntu18.04系统使用源码编译Ros1,出错集合及其解决办法
官方的介绍http://wiki.ros.org/kinetic/Installation中提到了,脚本安装的方法it is available for Ubuntu Wily (15.10) and ...
最新文章
- KG-知识图谱入门-王昊奋课程详细笔记(附课件、课程链接与详细笔记) 内有资源
- Spark在集群中的安装
- python爬取考研成绩什么时候出来_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!...
- JavaScript 验证API
- (29)VHDL实现时钟分频
- Flink watermark
- 小米王育军:小爱背后的小米语音技术
- ubuntu系统颜色更改
- 2014年辛星starphp第一节设置入口文件以及App类
- AWS成本估算的相关小工具
- Windows Server2003搭建ssl通信
- 增强光学系统设计 | Zemax 全新 22.2 版本产品现已发布!
- vue鼠标划过移入移出触发方法
- 前端-JS基础之各类型常用api
- 华为+android+root权限获取root,如何获得华为手机的root权限?华为root权限获取教程...
- 分布式轻量级任务调度框架-XXL-JOB(最全面,附带本人实战)
- sd和sem啥区别_生物统计学-标准差(SD)和标准误(SEM)有何区别.pdf
- javascript 简繁转换
- 仿微信悬浮通知栏/横幅通知
- 学生成绩表c语言,学生成绩信息表(c语言程序)