首先我的百度云装的系统是CentOS 7.5.1804
之前都是用ubuntu的听说服务器一般用CentOS那么我也跟个风用这个系统,不过听说都是差不多的。
我需要在服务器上装个python,我网上查了一下,发现Centos7是自带python所以我就看了一下
发现是2.7.5。因为我需要用到python3.7所以开始下面的操作
1.先安装相关包,用于下载编译python3:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
2.安装pip
#运行这个命令添加epel扩展源
yum -y install epel-release
#安装pip
yum install python-pip
3.用刚刚安装的pip安装wget
pip install wget
4.用wget下载python3的源码
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
5编译python3.7
#解压
xz -d Python-3.7.0.tar.xz
tar -xf Python-3.7.0.tar
#进入解压后的目录,依次执行下面命令进行手动编译
./configure --enable-optimizations --prefix=/usr/local/python3
make && make install
我在安装的时候报错ModuleNotFoundError: No module named '_ctypes'
需要
yum install libffi-devel
然后删掉刚刚编译的文件,从config开始重新安装
重新安装我没出错,就代表正确安装了,在/usr/local/目录下就会有python3目录
若是在ubuntu下安装出错则按下面步骤
问题:
ModuleNotFoundError: No module named ‘_ctypes’
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
sudo apt-get install libgdbm-compat-dev
6.添加软链接
#将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
#添加pip3的软链接
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
#测试是否安装成功了
python -V
7.更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用
vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2.7
vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2.7