Python篇5:linux安装python3.9与部署项目新包

完整安装python3.9

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

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值