当前位置: 首页 > 科技观察

Linux下Python3.6安装及避坑指南

时间:2023-03-13 00:45:27 科技观察

Python3安装一、安装依赖环境Python3在安装过程中可能会用到各种依赖库,所以在正式安装Python3之前,需要先安装这些依赖库。yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel2。下载Python3源码下载Python3源码有两种方式,一种是从其官网下载,网址如下:https://www.python.org/downloads/source/[图片]另一种方式是直接下载通过wget,比如如下命令:wgethttps://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz3。创建安装目录安装目录可以根据个人喜好创建,比如这里创建在/usr/local/python3:mkdir-p/usr/local/python34。解压源码包并在步骤2中下载解压源码包,命令为:tar-zxvfPython-3.6.1.tgz5。编译源码,进入解压后的源码包目录,然后配置:cdPython-3.6.1./configure--prefix=/usr/local/python3后编译,然后安装:makemakeinstall6。为Python3创建一个软链接ln-s/usr/local/python3/bin/python3/usr/bin/python37。将/usr/local/python3/bin添加到PATH编辑bash_profile修改环境变量:vim~/.bash_profile在PATH变量下添加Python3启动目录:#.bash_profile#Getthealiasesandfunctionsif[-f~/.bashrc];then.~/.bashrcfi#UserspecificenvironmentandstartupprogramsPATH=$PATH:$改HOME/bin:/usr/local/python3/binexportPATH后,按Esc,然后输入:wq保存退出。8、检查Python3和Pip3是否正常可用。执行以下命令(注意:V为大写V)。如果结果一致,说明Python3已经安装成功。[alvin@VM_0_16_centos~]$python3-VPython3.6.1[alvin@VM_0_16_centos~]$pip3-Vpip9.0.1from/usr/local/lib/python3.6/site-packages(python3.6)避坑指南其实,对于Python3的安装网上的帖子太多了,其实步骤都差不多。但是,在实际动手安装之后,或多或少会遇到一些麻烦,尤其是对于新手来说。下面列举一些常见的坑:坑一:configure:error:noacceptableCcompilerfoundin$PATH这个问题比较简单,就是缺少gcc编译环境。安装gcc即可:yuminstall-ygcc当然,除此之外,源码安装的方式也是可以的。坑二:zipimport.ZipImportError:can'tdecompressdata这种问题是由于缺少zlib相关的工具包导致的,只需打包相关依赖:yum-yinstallzlib*安装后重新编译源码即可解决。坑3:pip3:Can'tconnecttoHTTPSURLbecausetheSSLmoduleisnotavailable这个问题是因为./configure过程中,如果不加–with-ssl参数,默认安装的软件涉及ssl功能不可用,只是pip3进程需要ssl模块,因为没有指定,所以这个功能不可用。解决方法如下:cdPython-3.6.2./configure--with-sslmakesudomakeinstall坑4:Multilib版本问题这个很明显,就是同一个库有多个版本。只需删除多余的版本。先查询现有版本(以openssl为例,查看哪个冲突)#rpm-qa|grepopensslopenssl-devel-1.0.0-27.el6_4.2.x86_64openssl-1.0.0-27.el6_4.2.x86_64openssl-1.0.0-27.el6_4.2.i686可以看到系统安装了openssl-1.0.0-27.el6_4.2.x86_64和openssl-1.0.0-27.el6_4.2.i686版本的openssl,我们可以保留x86版本:rpm--erase--nodepsopenssl-1.0.0-27.el6_4.2.i686然后更新openssl:#yumupdate"openssl*"然后查询openssl,问题解决!#rpm-qa|grepopensslopenssl-devel-1.0.1e-16.el6_5.7.x86_64openssl-1.0.1e-16.el6_5.7.x86_64本文经授权转载自公众号《良序Linux》。世界500强外企Linux开发工程师梁旭,在公众号分享大量Linux干货,欢迎关注!