【已解决】将CentOS7系统安装至U盘(六):安装Python3.6


CentOS默认安装了Python2.7,由于有些命令使用了Python2.7,因此不能卸载,需同时安装Python3.6,主要用于后续安装Tensorflow.

1 下载Python3.6源码

可以从Python官网https://www.python.org/downloads/source/下载,也可以从镜像网站https://www.python.org/ftp/python/下载。
选择下载Python-3.6.8.tar.xz 或Python-3.6.8.tgz

2 编译Python3.6源码

下载完成之后,首先进行解压:

tar -xvf Python-3.6.8.tar.xz 

建立一个空文件夹,用于存放python3程序:

mkdir /usr/local/python3 

执行配置文件,编译,编译安装:

cd Python-3.6.8
./configure --prefix=/usr/local/python3
make
sudo make install

3 设置

建立软连接(Python与pip都建立软连接,分别为python3、pip3与系统自带的Python2区分):

ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

测试python3是否可以用:

[pyengine@localhost apps]$ python3 --version
Python 3.6.8
[pyengine@localhost apps]$ pip3 list
Package                Version  
---------------------- ---------
bleach                 1.5.0    
dataclasses            0.8      
enum34                 1.1.10   
html5lib               0.9999999
importlib-metadata     4.8.3    
Markdown               3.3.6    
numpy                  1.19.5   
pandas                 0.22.0   
pip                    18.1     
protobuf               3.19.4   
python-dateutil        2.8.2    
pytz                   2021.3   
setuptools             40.6.2   
six                    1.16.0   
tensorflow             1.4.0    
tensorflow-tensorboard 0.4.0    
typing-extensions      4.1.1    
Werkzeug               2.0.3    
wheel                  0.37.1   
zipp                   3.6.0   

4 解决ImportError: dynamic module does not define module export function (PyInit__sqlite3)

首先安装splite3

wget https://www.sqlite.org/2017/sqlite-autoconf-3170000.tar.gz --no-check-certificate
tar xf  sqlite-autoconf-3170000.tar.gz
cd sqlite-autoconf-3170000/
./configure --prefix=/usr/local/sqlite3 --disable-static --enable-fts5 --enable-json1 CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_RTREE=1"
make
sudo make install

其次,重新编译python3,

./configure --prefix=/usr/local/python3 LDFLAGS="-L/usr/local/sqlite3/lib" CPPFLAGS="-I /usr/local/sqlite3/include"
make
sudo make install

其它设置与前文一致。

5 重要说明

事实上,除了sqlite3外,还有curses, tkinter, readline, bz2等不依赖于python基础模块,需要事先安装,这些库不是必须的,只有特定情况下才会使用,建议事先安装,然后再编译python。或者发现缺乏某个模块后,可在安装该模块后再重新编译,更新python3和pip3软连接,虚拟环境仍可正常使用。

为了简单,可以安装Anaconda,已经配置好。

上一篇:【已解决】将CentOS7系统安装至U盘(五):配置或升级JDK
下一篇:【已解决】将CentOS7系统安装至U盘(七):Python3.6虚拟环境安装Tensorflow 1.15和Tensorflow 2.6

参考文字:https://blog.csdn.net/zckui/article/details/89821101

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pyengine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值