当前系统为阿里云的CentOS7.3 64位操作系统。为了能让后续安装的软件(django,uwsgi,nginx等)尽量减少出现bug的几率,先把可能的依赖包都安装上。

一、安装依赖包

yum -y install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 
yum -y install zlib* 
yum -y install python-setuptools

二、安装Python3

下载最新版本的Python3

# wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
# tar -zxvf Python-3.8.1.tgz
# cd Python-3.8.1.tgz
# ./configure --prefix=/usr/local/python3
# make && make install

创建软链接,方便使用

# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
# ln -s /usr/local/python3/bin/python3 /usr/bin/python3

三、升级pip3

注意是使用“pip3”去升级。

pip3 install --upgrade pip

测试pip3是否可以正确安装包。

# pip3 install pymysql
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting pymysql
  Downloading http://mirrors.aliyun.com/pypi/packages/ed/39/15045ae46f2a123019aa968dfcba0396c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl (47 kB)
     |████████████████████████████████| 47 kB 1.0 MB/s 
Installing collected packages: pymysql
Successfully installed pymysql-0.9.3

更换国内源

# 清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 或:
# 阿里源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# 腾讯源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
# 豆瓣源
pip config set global.index-url http://pypi.douban.com/simple/

四、补充

在安装完python3使用pip3的时候,由于系统的差别,可能会提示缺少ssl模块的问题。

./configure --with-ssl  #可以尝试在configure后面增加“--with-ssl”

不过前提是系统中已经安装了ssl及相关依赖。

yum install openssl
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel 

可以看到,这个命令安装的是openssl-devel,与我之前安装的openssl有所不同,查阅资料之后发现,openssl只包含了可执行部分,openssl-devel才包含了头文件、头文件参考、某些库文件等跟开发相关的东西。所以只安装openssl是找不到相应的头文件的

如果遇到 Could not import runpy module 错误:

  • 导致原因
1.在低版本的gcc版本中带有 --enable-optimizations 参数时会出现上面问题
2.gcc 8.1.0 修复此问题
  • 解决方法
1、升级gcc至8.1.0【不推荐】
2./configure参数中去掉–enable-optimizations

注意,一定要先make clean再重新make && make install

五、卸载python3

rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps   //卸载pyhton3
whereis python3 |xargs rm -frv   //删除所有残余文件
成功卸载!
whereis python   //查看现有安装的python

文章转自
没有gcc模块参考文章
参考文章
参考文章

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐