以前的2.7不要管
参考Linux下升级python3到python3.8【图文】_测试生财_51CTO博客
最近要使用django开发测试平台,指定了Python3.8作为Python开发环境,而Linux系统上自带的Python版本为Python3.5,因此需要做下Python版本升级。
升级过程
1)下载Python3.8安装包
wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz
2)解压缩
xz -d Python-3.8.2.tar.xz
tar xvf Python-3.8.2.tar
3)配置
./configure --prefix=/usr/local/python38 --enable-shared
4)编译安装
cd /root/Python-3.8.2 && sudo make && sudo make install
5)配置python3.8的lib到ldconfig
vi /etc/ ld.so.conf.d/python3.conf,添加如下内容
/usr/local/python38/lib
然后执行:ldconfig
6)创建Python软链接
ln -s /usr/local/python38/bin/pip3 /usr/local/bin/pip3
ln -s /usr/local/python38/bin/python3 /usr/local/bin/python3
7)设置PATH
echo 'export PATH=$PATH:/usr/local/bin/' >> /etc/profile
8) 重新加载环境变量
source /etc/profile
运行pyth3 如果遇到:
python3: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
cp /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib64/
或者 cp /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib
如果pip3安装报错,ModuleNotFoundError: No module named ‘_ctypes‘
运行:yum install libffi-devel -y
回到python原始安装目录:make && make install
nohup python3 manage.py runserver 0.0.0.0:8000 &
如果启动django:sqlit问题
vi vi /usr/local/python38/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py
# from sqlite3 import dbapi2 as Database # 注释第14 行
from pysqlite3 import dbapi2 as Database # 将默认数据库获取位置改为 pysqlite3
pip3 install pysqlite3
pip3 install pysqlite3-binary