centos 装nonebot+gocq

 直接开抄 

作者:神文仙武 https://www.bilibili.com/read/cv15970563 出处:bilibili

Centos7用yum安装的Python3版本比较旧,想要安装最新版本的Python3需要自己动手编译安装。下面就来讲讲安装步骤,主要分为这么几个步骤,依赖→下载→编译→配置。另外所有操作都是在root用户下进行。

依赖
编译Python源码需要依赖许多库,在编译过程中出现的一些常见问题大部分是没有安装相关依赖库。这里举几个例子。

比如说下面的警告信息,就是没有安装相关的依赖库。

The necessary bits to build these optional modules were not found:
_curses               _curses_panel         _dbm
_gdbm                 _lzma                 _sqlite3
_tkinter              _uuid                 readline
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
再比如说下面这个,是因为OpenSSL的版本太旧,需要安装openssl11 ,并且在编译的时候设置编译FLAG,后续会介绍到。

Failed to build these modules:
_hashlib              _ssl


Could not build the ssl module!
Python requires a OpenSSL 1.1.1 or newer
因为官网源下载比较慢,所以这里备份并替换为阿里云源,这样做不是必须的,视你的情况而定。

tar -zcvf CentOS-bk.tar.gz /etc/yum.repos.d/CentOS-*
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
然后安装依赖

yum -y groupinstall "Development tools"
yum install -y ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel bzip2-devel libffi-devel
yum install -y openssl-devel openssl11 openssl11-devel
下载
安装完依赖之后就可以去官网下载最新版本的源码了。官网地址:https://www.python.org/。打开官网之后选择Download→ Source code,选择最新Stable Releases版本的Gzipped source tarball下载即可。

本文直接在Centos上下载

mkdir -p /doc/temp && cd /doc/temp
wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz
编译
编译主要需要注意的问题是设置编译FLAG,以便使用最新的openssl库。

export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
结果如下


设置好了之后,进入源码目录

tar xvzf Python-3.10.4.tgz
cd Python-3.10.4
然后直接编译安装即可,需要花一点时间。

./configure --enable-optimizations && make altinstall
安装完成后验证一下是否安装成功

/usr/local/bin/python3.10 --version
/usr/local/bin/pip3.10 --version
配置
配置快捷命令
通过设置软链接简化命令输入

#设置
ln -sf /usr/local/bin/python3.10 /usr/bin/python3
ln -sf /usr/local/bin/pip3.10  /usr/bin/pip3
再验证一下设置是否正确

[root@localhost Python-3.10.3]python3 --version
Python 3.10.3
[root@localhost Python-3.10.3]pip3 --version
pip 22.0.4 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
配置pip源
由于网络原因,官方的pip源无法访问,会出现类似如下错误

Could not fetch URL https://pypi.org/simple/pip/: There was a problem
confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443):
Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLCertVerificationError(1,
'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer
certificate (_ssl.c:997)'))) - skipping
所以需要替换成国内源,方法如下。

新建pip配置文件

mkdir -p ~/.pip
touch ~/.pip/pip.conf
编辑配置文件,配置如下。

vim ~/.pip/pip.conf

[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
extra-index-url=
        http://pypi.douban.com/simple/
        http://mirrors.aliyun.com/pypi/simple/
#proxy = [user:passwd@]proxy.server:port
[install]
trusted-host=
        pypi.tuna.tsinghua.edu.cn
        pypi.douban.com
        mirrors.aliyun.com
ssl_verify: false
上面配置了清华,豆瓣,阿里的源,并且关闭了ssl验证。当然如果有需要还可以设置代理,把注释掉的proxy那行放开即可。

再验证一下

pip3 install --upgrade pip
以上就是Centos7安装最新版Python3的全步骤,下次再见。 作者:神文仙武 https://www.bilibili.com/read/cv15970563 出处:bilibili

以下作废,仅做存档

 2装好之后登录,先输入su

然后更新,记得科学上网或者切换国内镜像源,否则可能下载失败

yum update -y

 下载python3编译的依赖包

yum install -y gcc wget 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

1.下载python包

wget  https://www.python.org/ftp/python/3.10.8/Python-3.10.8.tgz

解压缩源码包

tar -zxvf Python-3.10.8.tgz

 cd进目录

cd Python-3.10.8
./configure --prefix=/usr/local/python/  # 指定安装目为/usr/local/python/

8.编译安装

make && make install

 添加linux环境变量 使用root账号

vi /etc/profile
 
在末尾添加
 
#python
 
PATH=/usr/local/software/python/bin:$PATH
 
保存后  执行
source /etc/profile

修改python的链接指向

mv /usr/bin/python3 /usr/bin/python3.bak
 
ln -s /usr/local/software/python/bin/python3 /usr/bin/python3

以上作废,仅做存档

装了pip和pyhton

如果重启登录用户名变成了bash,就执行这个重启

cp /etc/skel/.bash* /home/用户名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值