前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux编译安装Python3.9——以CentOS7为例

Linux编译安装Python3.9——以CentOS7为例

作者头像
MoyiTech
发布2023-02-27 14:53:11
1.2K0
发布2023-02-27 14:53:11
举报
文章被收录于专栏:科技日常科技日常
l9zg0nu4.png
l9zg0nu4.png

引言

在CentOS中使用yum安装python3时,总是安装不到需要的版本,在一些特定的环境下又需要特定版本的Python。然而网上的各种教程又良莠不齐(在此特别diss某某DN),故本篇将详细整理一遍在CentOS7上编译安装Python3的过程。

安装过程

安装epel-release

什么是EPEL?EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。 出处: http://www.uyts.com/archives/249

代码语言:javascript
复制
yum -y install epel-release

更新系统

代码语言:javascript
复制
yum -y update

重启

代码语言:javascript
复制
reboot

安装开发者工具

代码语言:javascript
复制
yum groupinstall "Development Tools" -y
yum install openssl-devel libffi-devel bzip2-devel -y

确认gcc可用

代码语言:javascript
复制
gcc --version

如果没有wget,需要安装wget

代码语言:javascript
复制
yum install wget -y

下载Python3.9 如果下载速度慢可以自行寻找国内镜像(https://mirrors.huaweicloud.com/python/3.9.10/Python-3.9.10.tgz)替换或者####

代码语言:javascript
复制
wget https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tgz

解压

代码语言:javascript
复制
tar -xvf Python-3.9.10.tgz

进入文件夹

代码语言:javascript
复制
cd ./Python-3.9.10

配置Python安装

代码语言:javascript
复制
./configure --enable-optimizations

编译安装

make altinstall与make install的区别,altinstall skips creating the python link and the manual pages links。 altinstall跳过创建python链接和手册页链接的操作。 如果使用make install,在系统中将会有两个不同版本的Python在/usr/bin/目录中,这将会导致很多问题。

代码语言:javascript
复制
make altinstall

检查是否成功安装

代码语言:javascript
复制
$ python3.9 --version
Python 3.9.10

python3.9对应的pip也会安装

代码语言:javascript
复制
$ pip3.9 --version
pip 21.2.4 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

升级pip至最新版本

代码语言:javascript
复制
python3.9 -m pip install --upgrade pip

至此常规的安装过程就结束了,enjoy it!

安装虚拟环境

virtualenv是python中一个常用的虚拟环境管理工具 使用pip安装它

代码语言:javascript
复制
pip3.9 install virtualenv

创建一个文件夹用于管理虚拟环境,并进入文件夹

代码语言:javascript
复制
mkdir ~/venv/
cd ~/venv/

创建虚拟环境(其中web是一个自定义的名字)

代码语言:javascript
复制
virtualenv web

激活虚拟环境

代码语言:javascript
复制
source ./web/bin/activate

这时我们可以看到在命令行的前缀多了一个(web),也就是虚拟环境的名称 现在输入python和pip的话就是默认使用的虚拟环境了。

使用完成后退出虚拟环境(在任何目录执行都可以)

代码语言:javascript
复制
deactivate

找不到sqlite

原因

安装python的时候没有找到sqlite3.so的库。

解决方法

先去官网下载源码包

代码语言:javascript
复制
wget https://www.sqlite.org/2021/sqlite-autoconf-3350500.tar.gz

解压

代码语言:javascript
复制
tar -zxvf sqlite-autoconf-3350500.tar.gz

编译安装

代码语言:javascript
复制
./configure --prefix=/usr/local/
make && make install

重命名并建立软链接

代码语言:javascript
复制
mv /usr/bin/sqlite3 /usr/bin/sqlite3.bak
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3

配置环境变量

代码语言:javascript
复制
vi /etc/profile

到最下面一行添加

代码语言:javascript
复制
export LD_LIBRARY_PATH="/usr/local/lib"

然后激活环境变量

代码语言:javascript
复制
source /etc/profile

检查sqlite3版本

代码语言:javascript
复制
sqlite3 --version

到这为止,我们还是不能在python中直接使用sqlite3的,还需要到python的源代码文件夹里重新make altinstall一下 然后就可以愉快地使用Django啦!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 安装过程
  • 安装虚拟环境
  • 找不到sqlite
    • 原因
      • 解决方法
      相关产品与服务
      云开发 CLI 工具
      云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档