python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python编译安装参数

python编译安装参数方式

作者:@xiangzi

这篇文章主要介绍了python编译安装参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python编译安装参数

./configure --prefix=/usr/local/python3 --enable-loadable-sqlite-extensions \
  --enable-optimizations \
  --enable-option-checking=fatal \
  --enable-shared \
  --with-system-expat

在Python的./configure脚本中

常用的–enable参数及其含义

如下:

这些参数可以根据你的需求进行配置,以便根据特定的功能或性能要求来构建Python。

在Python的./configure脚本中

常用的–with参数及其含义

如下:

这些参数可以根据你的需求进行配置,以便根据特定的功能或性能要求来构建Python。

python下mxnet 编译安装遇到问题

首先说一下为什么编译安装

通过pip install mxnet 安装遇到 Illegal instruction (core dumped)

已经过一番查找,原来是因为服务器cpu 指令集sse 不支持,mxnet pip安装支持编码集是avx,

查看命令:

cat /proc/cpuinfo

flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology pni cx16 x2apic hypervisor lahf_lm kaiser

最后下定决心进行编译安装。

由于编译安装并没有想象中的那么顺利,于是就对遇到的问题进行汇总,以便帮助跟我一样遇到此类问题的同学们。

编译安装mxnet 1.5.1遇到问题汇总

【问题描述】

/bin/sh: 1: cmake: not found
mkldnn.mk:48: recipe for target '/home/***/mxnet/3rdparty/mkldnn/build/install/lib/libdnnl.a' failed
make: *** [/home/***/mxnet/3rdparty/mkldnn/build/install/lib/libdnnl.a] Error 127
make: *** Waiting for unfinished jobs....
make[1]: Entering directory '/home/***/mxnet/3rdparty/dmlc-core'
make[1]: 'libdmlc.a' is up to date.
make[1]: Leaving directory '/home/***/mxnet/3rdparty/dmlc-core'

发现cmake未安装,

sudo apt-get install cmake

【问题描述】

/build/install/lib/libdnnl.a /home/***/mxnet/3rdparty/dmlc-core/libdmlc.a /home/***/mxnet/3rdparty/tvm/nnvm/lib/libnnvm.a -pthread -ldl -lm -lcblas -fopenmp -lrt -lopencv_highgui -lopencv_imgproc -lopencv_core -llapack
a - build/src/executor/eliminate_common_expr_pass.o
a - build/src/executor/graph_executor.o
a - build/src/executor/infer_graph_attr_pass.o
a - build/src/executor/attach_op_execs_pass.o
a - build/src/executor/attach_op_resource_pass.o
a - build/src/kvstore/gradient_compression.o
a - build/src/kvstore/kvstore_utils.o
a - build/src/kvstore/kvstore.o
a - build/src/resource.o
a - build/src/base.o
a - build/src/libinfo.o
a - build/src/initialize.o
/tmp/ccWjRTZm.o: In function `main':
im2rec.cc:(.text.startup+0x2994): undefined reference to `cv::imencode(std::string const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
collect2: error: ld returned 1 exit status
Makefile:643: recipe for target 'bin/im2rec' failed
make: *** [bin/im2rec] Error 1

经过查验发现:

tool/im2rec.cc 中imencode 方法中传四个参数, 而libopencv-dev 中的imencode接口传五个参数, 然后查了一下g++与gcc的版本是4.9 所以我就把版本升级到5,就能顺利编译了。

【问题描述】

creating 'dist/mxnet-1.5.1-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing mxnet-1.5.1-py2.7.egg
creating /usr/local/lib/pythonpy2.7/dist-packages/mxnet-1.6.0-pypy2.7.egg
Extracting mxnet-1.5.1-pypy2.7.egg to /usr/local/lib/pythonpy2.7/dist-packages
Adding mxnet 1.5.1 to easy-install.pth file

发现安装的mxnet是python2.7的版本,这怎么能行呢?

于是乎想一定是操作系统自带的python编译的,反正其他环境已经编译好了,只是在python setup.py install 时,python 的版本不对, 于是乎,把环境切到python3.6.4, 找到mxnet/python/ 执行

python setup.py install

正式编译通过,也算完美编译安装mxnet.

还有就是mxnet-mkl 这个加速版本以及mxnet-cuXX 版本安装参数该怎么配置,还需要再研究研究,时间有限,下次有时间再将安装心得分享。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文