首先说下感想,自己编译安装的Python3.7总是报ssl的错误,经过多方寻求帮助终于搞定下边是详细的步骤,如果谁有更好的解决方法请留言:
大体的说一下步骤,因为安装的是3.7,3.7以上的版本就包含pip 包管理器
首先下载 依赖和安装包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y //安装它避免报错下边会说
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
解压
tar -xzf Python-3.7.0.tgz
cd Python-3.7.0
cd Modules/Setup.dist
然后将关于ssl的那部分代码去除注释

如图所示将四行代码放开
然后再生成编译文件
./configure --enable-shared
make && make install
这样生成的python和pip在user/local/bin/ 下如图所示

为了方便访问咱们将生成的python3软连接到/usr/bin
为了不冲突需要删除 原来/usr/bin 下的Python3,若是没有就不需要删除
![]()
![]()
挂载完成可以查看一下是否成功
python3 -V

pip3 -V

下一步就是配置共享库
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib" >/etc/profile.d/python3_lib.sh
echo "/usr/local/lib" > /etc/ld.so.conf.d/python3.conf
接下来,执行如下命令使配置好的环境信息生效
ldconfig
source /etc/profile
配置使用本地的源安装第三方模块
很重要
mkdir ~/.pip
- 执行如下命令,以便写入国内的源:
我写入的是aliyun的源
echo '[global]' >> ~/.pip/pip.conf
echo 'index-url=http://mirrors.aliyun.com/pypi/simple' >> ~/.pip/pip.conf
echo '[install]' >> ~/.pip/pip.conf
echo 'trusted-host=mirrors.aliyun.com' >> ~/.pip/pip.conf
两个源
豆瓣源: https://pypi.douban.com/simple/
阿里源: https://mirrors.aliyun.com/pypi/simple

安装成功
如果安装的过程中出现手误将/usr/bin/python 删除的情况,导致yum不能用或者是python冲突,就去yum.conf 配置文件添上一行如图
vim /usr/bin/yum //上边指名解释的python2.6的解释器

pip is configured with locations that require TLS/SSL,
however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/:
There was a problem confirming the ssl certificate:
HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with
url: /simple/pip/
(Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
出现上述错误我的解决方法就是配置一个本地呢能够使用的不依赖ssl的源,上边步骤中存在请向上翻一下
ModuleNotFoundError: No module named '_ctypes' //出现这个错误
yum install libffi-devel 直接安装然后重新进行Python的编译安装就可解决
yum命令Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
在配置yum仓库时,忘记在yum仓库文件写gpgcheck=0了,因为默认是gpgcheck=1的(即:在安装时要检查公钥)
把gpgcheck=1都修改成gpgcheck=0
yum clean all #清空一下缓存
yum makecache #然后再制造缓存(从yum仓库里读取)
这是部署过程中出现的问题如有错误的地方请指教
若是安装3.6的请看这个,一次就能搞定
本文详细介绍了如何在Linux环境下从源码编译安装Python3.7,并解决ssl错误及配置pip使用国内源的方法。通过安装依赖、配置编译选项、设置环境变量等步骤,确保Python及pip正常工作。
1202

被折叠的 条评论
为什么被折叠?



