python的py⽂件⽣成pyd⽂件,pycharm直接调⽤pyd⽂件
这段时间做接⼝⾃动化测试,⽤python直接调⽤接⼝,sign值是经过系列复杂算法加密后⽣成的字符串,保密级别⾼,不能直接以py⽂件供⼤家调⽤~~
pyc⽂件呢,很容易就被反编译了,pyd⽂件和⼀般dll类似,不容易被反编译。
⽣成pyd很容易,⽹上百度⼀堆堆,但是调⽤pyd⽂件会遇到好多错误。
在此贴⼀下⽣成pyd到调⽤pyd⽂件的⽅法供参考:
1.新建⼀个setup.py⽂件:
# ⽤cpython⽣成pyd⽅式//需要安装cpython和vs2015(安装vs时只安装c++即可)
# 这种⽅式⽣成的pyd⽂件区分系统位数,⽐如32位⽣成的只能⽤于32位,64位则提⽰不能允许
import setupphp项目背景
from Cython.Build import cythonize
# name随便写,py⽂件要正确
setup(name='api_sign', ext_modules=cythonize('api_sign.py'))
2.执⾏命令⽣成pyd⽂件:
python setup.py build_ext --inplace
"""特朗普支持率仍然第一
执⾏后会⽣成pyd⽂件,可修改⽂件名,但不能去掉和py⽂件相同的部分
pycharm python安装教程引⽤该pyd⽂件需要放⼊模块下,通过模块引⼊该⽂件,不能直接引⽤
"""
3.调⽤pyd⽂件:
from Encryption import api_sign as i
a, b = i.encrypt('12', '213')
print(a)
while循环输出1到100
print(b)
api_sign.py⽂件是需要⽣成pyd的⽂件
⽣成后的pyd⽂件需要放到模块下引⽤,不能直接引⽤
当引⽤pyd⽂件报如下错误时:
1.ImportError: DLL load failed: 不到指定的模块
2.不到指定程序
kotlin教程培训……
数据结构与算法教程书籍解决流程:
1.确认引⽤的路径是否正确
2.确认引⽤的pyd是否引⽤了需要安装的模块,如果是,需要把引⽤的pyd路径也指定(sys.path.append("路径"))
3.若上⾯这些步骤还不⾏,直接把python升级到3.7.4最新版本
坑爹的…………
我的python是3.6.X的,⼀直引⽤pyd⽂件提⽰不到模块~~断断续续折腾了⼏周没搞定~~
后来⽤depends看引⽤dll间的关系,直接报错不到python37.dll,尝试升级python试试,
结果升级后就调⽤成功~~~⽆语~⽆语~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论