python编译安装参数方式

 更新时间:2024年06月21日 09:19:37   作者:@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参数及其含义

如下:

  • –enable-ipv6:启用IPv6支持。
  • –enable-unicode=ucs4:启用UCS-4编码的Unicode支持。
  • –enable-shared:启用共享库的构建。
  • –enable-optimizations:启用优化,对Python进行一些优化以提高性能。
  • –enable-openssl:启用OpenSSL支持。
  • –enable-threads:启用多线程支持。
  • –enable-ssl-default-suites:启用默认的SSL密码套件。

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

在Python的./configure脚本中

常用的–with参数及其含义

如下:

  • –with-threads:指定线程库的类型,例如–with-threads=pthread。
  • –with-dbmliborder:指定数据库访问库的优先顺序,例如–with-dbmliborder=gdbm:ndbm。
  • –with-computed-gotos:启用computed goto优化。
  • –with-ensurepip:指定ensurepip模块的安装方式,例如–with-ensurepip=upgrade。
  • –with-system-expat:使用系统安装的expat库。
  • –with-openssl:指定OpenSSL库的路径,例如–with-openssl=/usr/local/ssl。

这些参数可以根据你的需求进行配置,以便根据特定的功能或性能要求来构建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 版本安装参数该怎么配置,还需要再研究研究,时间有限,下次有时间再将安装心得分享。

总结

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

相关文章

  • 如何基于python实现单目三维重建详解

    如何基于python实现单目三维重建详解

    单目三维重建是根据单个摄像头的运动模拟双目视觉获得物体在空间中的三维视觉信息,下面这篇文章主要给大家介绍了关于如何基于python实现单目三维重建的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 详解如何使用Python构建从数据到文档的自动化工作流

    详解如何使用Python构建从数据到文档的自动化工作流

    这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-06-06
  • Python实现CET查分的方法

    Python实现CET查分的方法

    这篇文章主要介绍了Python实现CET查分的方法,实例分析了Python操作链接查询的技巧,需要的朋友可以参考下
    2015-03-03
  • Django框架中模型的用法

    Django框架中模型的用法

    这篇文章介绍了Django框架中模型的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • python实现两个经纬度点之间的距离和方位角的方法

    python实现两个经纬度点之间的距离和方位角的方法

    今天小编就为大家分享一篇python实现两个经纬度点之间的距离和方位角的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 使用numpy实现topk函数操作(并排序)

    使用numpy实现topk函数操作(并排序)

    这篇文章主要介绍了使用numpy实现topk函数操作(并排序),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

    python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

    这篇文章主要给大家介绍了关于python DataFrame中stack()方法、unstack()方法和pivot()方法的相关资料,pandas中这三种方法都是用来对表格进行重排的,其中stack()是unstack()的逆操作,需要的朋友可以参考下
    2022-04-04
  • Python替换Excel表格中的空值或指定值的实现

    Python替换Excel表格中的空值或指定值的实现

    本文介绍了使用Python的pandas库结合openpyxl来批量替换Excel表格中的空值或指定值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • Numpy的各种下标操作的示例代码

    Numpy的各种下标操作的示例代码

    本文主要介绍了Numpy的各种下标操作的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Python简单实现gif动图倒放示例

    Python简单实现gif动图倒放示例

    这篇文章主要为大家介绍了Python简单实现gif动图倒放的示例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论