购物商城网站功能设计,极简wordpress主题,黄骅市中医医院,衡阳网站建设设计阅读时长#xff1a;10分钟 本文内容#xff1a; 在阿里云Centos7上部署python3.10.6项目时遇到openSSL协议不支持#xff0c;导致无法下载第三方包 本文目的#xff1a; 通过手动编译#xff0c;升级openssl版本centos7 重编译 python3.10.6github下载缓慢解决镜像源记录… 阅读时长10分钟 本文内容 在阿里云Centos7上部署python3.10.6项目时遇到openSSL协议不支持导致无法下载第三方包 本文目的 通过手动编译升级openssl版本centos7 重编译 python3.10.6github下载缓慢解决镜像源记录 阿里云Centos7 安装openSSL以及python3.10
整个部署问题的起因就是centos7上系统上自带的openssl版本太低了导致无法使用 python3版本。所以要先升级openssl版本 在CentOS7中安装 Python3.10需要先升级 OpenSSL系统默认的 OpenSSL版本为1.0.2版本太低了 在后面编译安装PIP的时候会报错。 一、升级openssl
yum install -y gcc gcc-c autoconf automake zlib zlib-devel pcre-devel2.进入到 /usr/local/src 目录将稍后下载的文件放在此目录。
cd /usr/local/src3.到OpenSSL官方网站下载源码解压并进入软件包目录
wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz --no-check-certificate
tar -zxvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q
4.编译安装
./config
make make install5.备份系统中的旧 OpenSSL 可执行文件
mv /usr/bin/openssl /usr/bin/openssl.old6.创建符号链接以关联新安装的 OpenSSL 可执行文件
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl7.向动态链接库配置文件添加新的 OpenSSL 库路径
echo /usr/local/openssl/lib /etc/ld.so.conf8.使用 ldconfig 命令刷新动态链接库缓存使新配置生效
ldconfig -v9.检查版本是否升级成功
openssl version安装python3.10
1.进入到 /usr/local/src 目录将下载的文件放在此目录。
cd /usr/local/src
# 下载
wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
# 解压
tar -xvzf Python-3.10.6.tgz2.提前安装稍后编译时会用到的工具
yum -y install gcc zlib zlib-devel libffi libffi-devel3.配置并编译
# 查看
ls -a
# 进入目录
cd Python-3.10.6
# 运行 configure 脚本配置编译参数configure是一个没有后缀的脚本文件
./configure --prefix/usr/local/python3 --with-openssl/usr/local/openssl --enable-shared --enable-optimizations
# 使用 make 命令编译 Python 3.10 源代码
# make 命令会根据配置参数编译源代码并生成可执行文件
make make install4.创建软链接centos默认安装有python2.7版本本文两个版本共存
# 第一个地址是 源文件的路径也就是软链接指向的文件。这个文件通常是 python3 的一个安装位置
# 第二个地址是 软链接的路径也就是你想要创建的软链接的位置。这个位置通常是系统路径系统会在这个路径下搜索可执行文件。
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip35.检查是否安装成功
python -V
pip -V其他错误
在通过 python -V 验证 python版本时出现报错 python3: error while loading shared libraries: libpython3.10.so.1.0: cannot open shared object file: No such file or directory 解决办法
# 查看
cd /usr/local/lib# 将下载的python包目录中的文件 复制一份到 指定目录
sudo cp /usr/local/src/Python-3.10.6/libpython3.10.so.1.0 /usr/local/lib# 设置动态链接库地址。注意该目录下就是上一步的 指定目录 。该目录下有文件libpython3.10.so.1.0
export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/usr/local/lib
#查看
echo $LD_LIBRARY_PATH问题解析 这个报错是python的动态链接库找不到导致的报错只需要重新设置动态链接库地址即可。 找到python3的位置查找指令:whereis python3 。 python的安装位置在上面配置configure时通过prefix进行配置在此处是 /usr/local/python3. python文件下载位置上面也有位于 /usr/local/src/Python-3.10.6通常当安装了python3后python3的动态链接库都位于 /usr/local/lib临时设置动态链接通过上面的export的方式设置只存在与当前会话窗口关机后就没了永久设置动态链接 通过在文件 /etc/ld.so.conf 中写入 存放动态链接文件的位置(也可以是python的lib目录) 并保存
# 编辑
vi /etc/ld.so.conf# 添加一行 /usr/local/lib# 让改动生效
sudo ldconfig以下是我的 /etc/ld.so.conf 文件中的内容
include ld.so.conf.d/*.conf
/usr/local/openssl/lib
/usr/local/lib在Linux系统中LD_LIBRARY_PATH 是一个环境变量用于指定动态链接器搜索共享库时的路径
# 设置
export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/the/path/you/want/set
export LD_LIBRARY_PATH/the/path/you/want/set
# 查看动态链接库设置
echo $LD_LIBRARY_PATH
# 清除所有动态链接库设置
unset LD_LIBRARY_PATH阿里云centos7 访问github缓慢
git clone 特别慢是因为 github.global.ssl.fastly.net 域名被限制了只要找到这个域名对应的 IP 地址然后在 hosts 文件中加上 ip–域名 的映射刷新 DNS 缓存便可。
# 安装
yum -y install bind-utils# 获取两组 Name 和 Address
nslookup github.global.ssl.fastly.net
nslookup github.com添加
$ sudo vim /etc/hosts例如我拿到上面得到的IP地址后添加了两行
69.171.229.73 http://global-ssl.fastly.net
13.250.177.223 http://github.comnscd 命令更新 DNS 缓存
# 如果没有安装则需要安装一下
yum install -y nscd# 更新 DNS 缓存
nscd -i hosts然后再次执行 git clone https://github.com/XXX速度起飞
设置下载源
临时更改在安装包时使用-i参数指定源的URL。 例如使用清华源安装包packagename命令为 pip install packagename -i https://pypi.tuna.tsinghua.edu.cn/simple 永久更改使用 pip config set global.index-url命令直接指定下载源的URL这样就不用每次都手动修改了。 例如将下载源永久更改为清华源命令为pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 或者通过打开文件手动更改: vi ~/.pip/pip.conf [global]
index-url http://pypi.douban.com/simple/[install]
trusted-host pypi.douban.com清华https://pypi.tuna.tsinghua.edu.cn/simple阿里云https://mirrors.aliyun.com/pypi/simple腾讯http://mirrors.cloud.tencent.com/pypi/simple豆瓣http://pypi.douban.com/simple/
卸载Python3
#卸载python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps #删除所有残余文件
whereis python3 |xargs rm -frv#查看现有安装的python验证是否删除干净
whereis python 其他指令
查看当前虚拟环境的值
echo $VIRTUAL_ENV 仅当激活了虚拟环境时才会有值