python編譯安裝參數(shù)方式
python編譯安裝參數(shù)
./configure --prefix=/usr/local/python3 --enable-loadable-sqlite-extensions \ --enable-optimizations \ --enable-option-checking=fatal \ --enable-shared \ --with-system-expat
在Python的./configure腳本中
常用的–enable參數(shù)及其含義
如下:
- –enable-ipv6:啟用IPv6支持。
- –enable-unicode=ucs4:啟用UCS-4編碼的Unicode支持。
- –enable-shared:啟用共享庫的構(gòu)建。
- –enable-optimizations:啟用優(yōu)化,對Python進(jìn)行一些優(yōu)化以提高性能。
- –enable-openssl:啟用OpenSSL支持。
- –enable-threads:啟用多線程支持。
- –enable-ssl-default-suites:啟用默認(rèn)的SSL密碼套件。
這些參數(shù)可以根據(jù)你的需求進(jìn)行配置,以便根據(jù)特定的功能或性能要求來構(gòu)建Python。
在Python的./configure腳本中
常用的–with參數(shù)及其含義
如下:
- –with-threads:指定線程庫的類型,例如–with-threads=pthread。
- –with-dbmliborder:指定數(shù)據(jù)庫訪問庫的優(yōu)先順序,例如–with-dbmliborder=gdbm:ndbm。
- –with-computed-gotos:啟用computed goto優(yōu)化。
- –with-ensurepip:指定ensurepip模塊的安裝方式,例如–with-ensurepip=upgrade。
- –with-system-expat:使用系統(tǒng)安裝的expat庫。
- –with-openssl:指定OpenSSL庫的路徑,例如–with-openssl=/usr/local/ssl。
這些參數(shù)可以根據(jù)你的需求進(jìn)行配置,以便根據(jù)特定的功能或性能要求來構(gòu)建Python。
python下mxnet 編譯安裝遇到問題
首先說一下為什么編譯安裝
通過pip install mxnet 安裝遇到 Illegal instruction (core dumped)
已經(jīng)過一番查找,原來是因?yàn)榉?wù)器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
最后下定決心進(jìn)行編譯安裝。
由于編譯安裝并沒有想象中的那么順利,于是就對遇到的問題進(jìn)行匯總,以便幫助跟我一樣遇到此類問題的同學(xué)們。
編譯安裝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'
發(fā)現(xiàn)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
經(jīng)過查驗(yàn)發(fā)現(xiàn):
tool/im2rec.cc 中imencode 方法中傳四個(gè)參數(shù), 而libopencv-dev 中的imencode接口傳五個(gè)參數(shù), 然后查了一下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
發(fā)現(xiàn)安裝的mxnet是python2.7的版本,這怎么能行呢?
于是乎想一定是操作系統(tǒng)自帶的python編譯的,反正其他環(huán)境已經(jīng)編譯好了,只是在python setup.py install 時(shí),python 的版本不對, 于是乎,把環(huán)境切到python3.6.4, 找到mxnet/python/ 執(zhí)行
python setup.py install
正式編譯通過,也算完美編譯安裝mxnet.
還有就是mxnet-mkl 這個(gè)加速版本以及mxnet-cuXX 版本安裝參數(shù)該怎么配置,還需要再研究研究,時(shí)間有限,下次有時(shí)間再將安裝心得分享。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python高效解析和操作XML/HTML的實(shí)用指南
在?Python?生態(tài)系統(tǒng)中,lxml?是一個(gè)功能強(qiáng)大且廣泛使用的庫,用于高效地解析和操作?XML?和?HTML?文檔,這篇文章從?lxml?的基礎(chǔ)安裝開始,逐步深入講解如何解析文檔、提取數(shù)據(jù)、修改文檔結(jié)構(gòu),并涵蓋了處理大型文檔和使用命名空間等進(jìn)階操作,需要的朋友可以參考下2024-10-10數(shù)據(jù)清洗之如何用一行Python代碼去掉文本中的各種符號
我們在處理文本的時(shí)候往往需要對標(biāo)點(diǎn)符號進(jìn)行處理,下面這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)清洗之如何用一行Python代碼去掉文本中的各種符號的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11解析Python 偏函數(shù)用法全方位實(shí)現(xiàn)
這篇文章主要介紹了解析Python 偏函數(shù)用法全方位實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06windows下Python實(shí)現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法
這篇文章主要介紹了windows下Python實(shí)現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python實(shí)現(xiàn)將pdf轉(zhuǎn)換為png格式的相關(guān)模塊、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-07-07Python設(shè)計(jì)模式中的創(chuàng)建型工廠模式
這篇文章主要介紹了Python設(shè)計(jì)模式中的創(chuàng)建型工廠模式,工廠模式即Factory?Pattern,是提供創(chuàng)建對象的最佳方式,下文小編介紹Python工廠模式的相關(guān)資料,需要的朋友可以參考一下2022-02-02python logging設(shè)置level失敗的解決方法
今天小編就為大家分享一篇python logging設(shè)置level失敗的解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02