Django项目实践-Crypto库

背景:
由于公司接口有加密解密,自定义接口脚本需要调取Crypto模块,之前用的是php调用python脚本实现的结构体,过于繁琐,打算搭建Django框架实现
问题:
但是搭建后发现调用Crypto模块经常会报错,主要报错是:
from Crypto.Cipher import _AES
ImportError: DLL load failed: 找不到指定的模块。
这个问题困扰了我很久,原来代码目录
在这里插入图片描述

1、一直认为引用这个模块使用的是目录调用,然后验证路径调用是否正确,怎么验证也没发现什么毛病
2、文件里引用当前目录的_AES,最开始以为是AES.py文件本身(单下划线私有变量);后来知道.pyd文件实际上就是个库文件(DLL),才转移到是引用的_ASE.pyd,但是也没有找出找不到它的理由
在这里插入图片描述
解决:
后来尝试在原来PHP框架里删除该引用文件,发现依旧可用,于是明确一点:该实现并不依赖该路径,而是与系统安装的pycrypto路径文件有关,但是wondows本地一直有问题,于是直接从当前正在使用PHP linux服务器上调试。做法:删除本地目录(直接用系统的,经之前项目验证系统的没问题,可以用),然后启动Django服务就不报错了,后来又调试了下报错都是些其他的问题了,困扰我两周的问题终于终于落幕了,可以收下心做正事了~~

猜你喜欢

转载自blog.csdn.net/super_chenly/article/details/88394173