1、安装之前的一个类先安装:
yum install libffi-devel -y
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
不然 make的时候,会报缺少很多包。仔细看中间有提示
如果是华为云,最好先安装openssl 1.1.1及以上的版本。
https://blog.csdn.net/yangjiechao945/article/details/124196480
这里安装的是1.1.1w的版本
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
然后再编译make 安装,后续再返回这里重新安装也可。
tar -zxvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --prefix=/usr/local/openssl #如果此步骤报错,需要安装perl以及gcc包
make && make install
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v # 设置生效
查看openssl版本
查看系统的当前openssl版本
openssl version -a
https://blog.csdn.net/wuyepiaoxue789/article/details/117958240
2、卸载默认的python3.6
卸载python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps 卸载pyhton3
whereis python3 |xargs rm -frv 删除所有残余文件
成功卸载!
whereis python 查看现有安装的python
3、正式安装
wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz
或者下载到本地,再上传更快一些。
tar -zxvf Python-3.9.16.tgz
cd Python-3.9.16
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --enable-optimizations
[注意:--with-openssl=/usr/local/openssl 就是上面的最新的openssl安装路径,这里就是这个]
make
make install
ln -sf /usr/local/python3/bin/python3.9 /usr/bin/python
python3 检查一下
注意:上面make如果有报错。就删除Python-3.9.16。重新解压一遍即可。
另外一个问题:python 没有指向python3 或者说python3.9的
分别检查:
which python
which python3
whereis python 或者whereis python3
也可以检查
同时检查 pip3 和pip
which pip3
which pip
默认没有pip命令,所以还要建立连接一下,yum install pip就有
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
ln -s /usr/local/python3/bin/pip /usr/bin/pip
至此,彻底安装完全安装。
如果yum 不可用。修改vi /usr/bin/yum文件中的第一行为#!/usr/bin/python2.7
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/bin/openssl --enable-optimizations
make
make install
以下可以忽略:【
解决方案:
ln -s /usr/local/python39/bin/python3 /usr/local/bin/python
这条指令的意思是:which python 去 /usr/local/bin/ 下面找python。然后指向了绝对路径/usr/local/python39/bin/python3
同理。which python3 去 /usr/local/bin/ 下面找python3 软连接。然后指向了目录/usr/local/python39/bin 下面搜索。查看/etc/profile 。 也可以绝对路径。就不用/etc/profile配置了。
最后检查:python 或者 python3 进入了显示版本号,都正常 就代表成功了
】
-----------------------------------------------------------------------------------------------------
运行项目之后:安装的包都在这里面。
/usr/local/python39/lib/python3.9/site-packages
检查一下,有哪些第三方库
unable to execute /bin/yum: No such file or directory
python straxxx.py
问题一:
import numpy as np
ModuleNotFoundError: No module named 'numpy'
解决方案:
pip3 install numpy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip 安装 到 公共的python3.9的site-pages里面
但pip安装 到了python3.6里面去了
然后python3 进去,发现是python3.6.
如何修改这个版本呢。
卸载python3.6.centos默认装的是这个版本。
卸载默认的3.6
卸载python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps 卸载pyhton3
whereis python3 |xargs rm -frv 删除所有残余文件
成功卸载!
问题5:
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168
解决方案:openssl version -a 又是最新版本OpenSSL 1.1.1w 11 Sep 2023
重新编译python即可。
问题六:python进去还是python2.7的,不是python3
File "into_rediandata.py", line 53 sql = f"INSERT INTO {table_name} (id, today_riqi, redian_type, stock_code, stock_name) VALUES (%s, %s, %s, %s, %s)" ^ SyntaxError: invalid syntax
以上报错提示,就代表还是python2的环境
解决方案:
ln -sf /usr/local/python3/bin/python3.9 /usr/bin/python
一条语句搞定
参考文章:
https://zhuanlan.zhihu.com/p/357866208
centos 安装yum
https://blog.csdn.net/u014212540/article/details/127886486
其他参考文章:https://blog.csdn.net/wuyepiaoxue789/article/details/117958240