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 版本安装参数该怎么配置,还需要再研究研究,时间有限,下次有时间再将安装心得分享。

总结

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

相关文章

  • 详解Vue组件动态加载有哪些方式

    详解Vue组件动态加载有哪些方式

    动态加载组件可以显著提高应用的性能,优化用户体验,尤其是在大型应用中,合理的组件加载策略尤为重要,本文将探讨几种在Vue中实现组件动态加载的具体方案,需要的朋友可以参考下
    2024-10-10
  • Python 避免字典和元组的多重嵌套问题

    Python 避免字典和元组的多重嵌套问题

    这篇文章主要介绍了Python 避免字典和元组的多重嵌套,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 利用Python实现文件读取与输入以及数据存储与读取的常用命令

    利用Python实现文件读取与输入以及数据存储与读取的常用命令

    这篇文章主要给大家介绍了关于利用Python实现文件读取与输入以及数据存储与读取的常用命令,文中还介绍了用python循环保存文件并循环读取文件的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • certifi轻松地管理Python证书信任链保障网络安全

    certifi轻松地管理Python证书信任链保障网络安全

    在使用Python进行网络通信时,我们通常需要使用第三方库来处理HTTPS连接,其中,certifi库是一个非常实用的库,可以帮助我们轻松地管理Python的证书信任链
    2024-01-01
  • 关于python+scapy抓包与解析

    关于python+scapy抓包与解析

    这篇文章主要介绍了关于python+scapy抓包与解析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python自定义主从分布式架构实例分析

    Python自定义主从分布式架构实例分析

    这篇文章主要介绍了Python自定义主从分布式架构,结合实例形式分析了主从分布式架构的结构、原理与具体的代码实现技巧,需要的朋友可以参考下
    2016-09-09
  • Keras神经网络efficientnet模型搭建yolov3目标检测平台

    Keras神经网络efficientnet模型搭建yolov3目标检测平台

    这篇文章主要为大家介绍了Keras利用efficientnet系列模型搭建yolov3目标检测平台的过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python分析实现微信钉钉等软件多开分身

    python分析实现微信钉钉等软件多开分身

    我发现坛友分享的很多都是通过cmd 去start 多个微信,虽然能实现多开,但不够灵活,比如我上午登录了一个微信,下午在登录就不太好用了,当然也可能是我start的姿势不对。于是我就搜了下单实例原理,自己动手实现了个随用随开的
    2022-02-02
  • pycharm使用技巧之自动调整代码格式总结

    pycharm使用技巧之自动调整代码格式总结

    这篇文章主要给大家介绍了关于pycharm使用技巧之自动调整代码格式总结的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python中的sys.stdout重定向解读

    python中的sys.stdout重定向解读

    这篇文章主要介绍了python中的sys.stdout重定向,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论