Centos7,Python3.7.6安装模块Crypto,pycryptodome,ibm_db,requests,requests_pkcs12

Centos7,Python3.7.6安装模块Crypto,pycryptodome,ibm_db,requests,requests_pkcs12

Python版本:python3.7.6 对应的各种模块

前言:把python项目放到linux上运行时,提示缺少各种模块,安装命令如下

1、提示:ModuleNotFoundError: No module named 'Crypto'

1.1、报错信息:

Traceback (most recent call last):
  File "casbrun.py", line 12, in <module>
    import common
  File "./common/common.py", line 3, in <module>
    from Crypto.PublicKey import RSA
ModuleNotFoundError: No module named 'Crypto'

#用到的
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as PKCS1_cipher

1.2、解决办法:

安装:pip install pycryptodome

或pip3 install pycryptodome

2、  提示:File "casbrun.py", line 13, in <module>

2.1、报错信息:

Traceback (most recent call last):
  File "casbrun.py", line 13, in <module>
    from aoeweb import AOEWeb

原因:引用其他文件夹的py时,需要先加载文件夹

2.2、解决办法:

import sys
sys.path.append('./server')   #server为文件夹,为服务py
sys.path.append('./common')   #common为文件夹,为工具py
import common
from aoeweb import AOEWeb

3、提示:ModuleNotFoundError: No module named 'ibm_db'

pip3 install ibm-db==3.0.1

4、提示:ModuleNotFoundError: No module named 'requests'

4.1、报错信息:

Traceback (most recent call last):
  File "casbrun.py", line 13, in <module>
    from aoeweb import AOEWeb
  File "./server/aoeweb.py", line 6, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'

4.2、解决办法:

pip3 install requests

5、ModuleNotFoundError: No module named 'pandas'

Traceback (most recent call last):
  File "DB2OPE.py", line 2, in <module>
    import pandas as pd
ModuleNotFoundError: No module named 'pandas'

5.2、解决办法:

$pip3 install pandas==0.23.4

6、ModuleNotFoundError: No module named 'requests_pkcs12'

6.1、报错信息:

  File "casbrun.py", line 13, in <module>
    from aoeweb import AOEWeb
  File "./server/aoeweb.py", line 8, in <module>
    from getfile import Getfile
  File "./common/getfile.py", line 8, in <module>
    import requests_pkcs12
ModuleNotFoundError: No module named 'requests_pkcs12'

6.2、解决办法:

pip3 install requests_pkcs12

7、request用到的openssl版本和系统的openssl版本不一致

7.1、报错信息:

Traceback (most recent call last):
  File "casbrun.py", line 13, in <module>
    from aoeweb import AOEWeb
  File "./server/aoeweb.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python3.7/site-packages/requests/__init__.py", line 43, in <module>
    import urllib3
  File "/usr/local/lib/python3.7/site-packages/urllib3/__init__.py", line 42, in <module>
    "urllib3 v2.0 only supports OpenSSL 1.1.1+, currently "
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

原因:提示requests用到的openssl版本是openssl1.1.1 ,和当前系统的openssl版本不一致

7.2、解决办法(1、升级openssl 2、编译python,使用最新的openssl)

1、先查看openssl版本:openssl version -a

2、centos7升级openssl到openssl1.1.1

参考:Centos7升级openssl到openssl1.1.1

Centos7升级openssl到openssl1.1.1-CSDN博客

#删除软链接和重新建立软链接

rm /usr/bin/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
ldconfig -v

3、升级python3的openssl

如果你使用的是源代码包,可以通过在运行./configure命令时传递–with-openssl参数,并指定新版本的OpenSSL库所在的路径来配置Python的编译选项。

$cd cd Python-3.7.6

#编译

$./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl

看到:checking for openssl/ssl.h in /usr/local/openssl... yes
           checking whether compiling and linking against OpenSSL works... yes

$make clean

$make & make install

#备注,如果有问题就make之后再make install

#加入python3的软链接

rm /usr/bin/python3

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

其中pip3不可用时解决

[root@loaclhost bin]# pip3
-bash: /usr/local/bin/pip3: No such file or directory
[root@loaclhost bin]# cp /usr/local/python3/bin/pip3 /usr/local/bin/pip3

参考:https://codeleading.com/article/19232024257/

参考:https://blog.csdn.net/inthat/article/details/131365519

https://blog.csdn.net/weixin_63133658/article/details/134380096

4、检查 Python 的 ssl 模块版本:

python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"

8、linux查看python的site-packages路径

有时候我们在liunx上想修改查看python的包路径可以试试以下命令

from distutils.sysconfig import get_python_lib

print(get_python_lib())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/343952.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis缓存雪崩、穿透和击穿

缓存雪崩 对于系统 A&#xff0c;假设每天高峰期每秒 5000 个请求&#xff0c;本来缓存在高峰期可以扛住每秒 4000 个请求&#xff0c;但是缓存机器意外发生了全盘宕机或者大量缓存集中在某一个时间段失效。缓存挂了&#xff0c;此时 1 秒 5000 个请求全部落数据库&#xff0c;…

Pygame程序的屏幕显示

不同对象的绘制与显示过程 在Pygame中&#xff0c;需要将所有需要在屏幕上显示的内容都绘制在一个display surface上。该Surface通常称为screen surface&#xff0c;它是pygame.display.set_mode()函数返回的Surface对象。 在绘制不同对象时&#xff0c;可以使用不同的绘制方…

基于汽车胎压检测及温度预警

课题简介 汽车胎压监测系统可分为两种&#xff1a;一种是间接式胎压监测系统&#xff0c;是通过轮胎的转速差来判断轮胎是否异常&#xff1b;另一种是直接式胎压监测系统&#xff0c;通过在轮胎里面加装四个胎压监测传感器&#xff0c;在汽车静止或者行驶过程中对轮胎气压和温…

鸿蒙开发环境搭建-高频环境问题解决

1.Node版本问题 由于SDK的部分工具依赖Node.js运行时&#xff0c;推荐使用配套API版本的Node.js&#xff0c;保证工程的兼容性。 匹配关系见下表&#xff1a; API LevelNode.js支持范围API Level≤914.x&#xff08;≥14.19.1&#xff09;、16.xAPI Level>914.x&#xff0…

java JDBC 连接数据库(增删查改)

必须先插入工具包 代码 public static void main(String[] args) {DataSource ds JdbcHelper.getDs();System.out.println(ds);JdbcTemplate jdbcTemplatenew JdbcTemplate(ds);System.out.println(jdbcTemplate);//新增String sql1"insert into biao values(null,?,?,…

深入浅出理解SPP、ASPP、DSPP、MDSPP空间金字塔池化系列结构(综合版)

一、参考资料 目标检测&#xff1a;SPP-net SPP原理及实现 金字塔池化系列的理解SPP、ASPP SPP&#xff0c;PPM、ASPP和FPN结构理解和总结 二、空间金字塔池化(SPP) 原始论文&#xff1a;[1] 1. 引言 传统的卷积神经网络中&#xff0c;池化层通常采用固定的池化层级和固定…

7个向量数据库对比:Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant

本文简要总结了当今市场上正在积极开发的7个向量数据库&#xff0c;Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant 的详细比较。 我们已经接近在搜索引擎体验的基础层面上涉及机器学习&#xff1a;在多维多模态空间中编码对象。这与传统的关键字查找不同&#xff08…

python netCDF4

NetCDF简介 NetCDF 即 network Common Data Form&#xff08;网络通用数据格式&#xff09;&#xff0c;是一种面向数组型并适于网络共享的数据的描述和编码标准。文件的后缀是 .nc。nc 在气象领域应用很广&#xff0c;因为它可以存储不同波段的长时间观测结果。 NetCDF 文件…

STL——stack容器和queue容器详解

目录 &#x1f4a1;stack &#x1f4a1;基本概念 常用接口 &#x1f4a1;queue &#x1f4a1;基本概念 &#x1f4a1;常用接口 &#x1f4a1;stack &#x1f4a1;基本概念 栈&#xff08;stack&#xff09;&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端…

superset未授权访问漏洞(CVE-2023-27524)复现

Superset是一个开源的数据探索和可视化平台。它由Apache软件基金会支持&#xff0c;旨在帮助用户通过直观的方式探索、分析和可视化复杂的数据集。Superset支持多种数据源&#xff0c;包括关系型数据库、NoSQL数据库和各种其他数据存储系统。Apache Superset 2.0.1 版本及之前版…

软件测试当中的测试用例模板

测试用例这块知识、经验&#xff0c;小酋在前面陆续都讲完了。这章提供几种用例模板&#xff0c;作为这块知识的收尾。 - 1 - 测试用例&#xff08;主指功能测试用例模板&#xff09;的内容通常包括测试目标&#xff08;目的&#xff09;&#xff0c;需求标示&#xff08;一般…

ModuleNotFoundError: No module named ‘simple_knn‘

【报错】使用 AutoDL 复现 GaussianEditor 时引用 3D Gaussian Splatting 调用simple_knn 时遇到 ModuleNotFoundError: No module named ‘simple_knn‘ 报错&#xff1a; 【原因】 一开始以为是版本问题&#xff0c;于是将所有可能的版本都尝试了 (from versions: 0.1, 0.2…