python如何生成dll文件,python自动生成文件夹

这篇文章主要介绍了python如何生成dll文件,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

Source code download: 本文相关源码

现在,随着深度学习的发展,python已成为深度学习第一语言的研究。最深度学习工具包python版本,许多重要的算法有python版本python基础知识点总结图解。为了将这些算法应用到具体的项目,这些工具箱还提供了不同类型的接口。动态链接库(。dll,所以)是一个非常重要的跨语言协作的系统开发方法。算法编写的python语言被编译成一个动态库,可以使用其他语言,可以大大提高算法的效率的发展。然而,尽管python可以调用动态库生成的其他语言,作为一种脚本语言,python不能直接编译和生成动态库。为了生成动态库,我们使用cython将python脚本转化为c语言文件。具体过程将被解释为一个简单的例子。def str_add (str1 str2):返回int (str1) + int (str2)这段代码将两个数字的字符串转换成数字和金额。

根据cython语法,我们给的cython版本功能:cdef公共str_add (str1 str2):返回int (str1) + int (str2)与之前的python版本相比,cdef取代def和添加了公钥这个词表明,这个函数是出口。保存这段代码作为检验文件,例如。接下来,我们执行以下命令将这段代码转化为C语言版本:cython此时,就会生成两个文件目录下。这两个文件实现函数通过调用python的c api的代码。接下来,我们编写的主要文件的动态库:# include\u201C走读生使用__declspec (dllexport) int __stdcall _str_add (const char *, const char * b){返回PyLong_AsLong (str_add (PyUnicode_FromString (a), PyUnicode_FromString (b)));

PyInit_run ();# dll调用初始化,这是如何编写python3。initrun ()。看到生成的打破;案例DLL_PROCESS_DETACH: Py_Finalize();断裂;}返回TRUE;} _str_add这个文件定义导出函数。在python中,所有的数据都是存储在pyobject。这个函数使用PyUnicode_FromString把两个字符串变成一个python对象类型,并调用内部函数str_add总和,并将结果从python对象转换为一个整数数字通过PyLong_AsLong函数。我们可以编译这个代码来生成一个dll通过以下命令:cl \/ LD的\生成的dll,我们编写一个简单的电话,测试它:#包括\u201D\u201C#\u201D\u201C走读生使用__declspec (dllexport) int __stdcall _str_add (const char *, const char * b);

然而,这个动态库不能运行在一台计算机上没有安装python。事实上,python代码通常需要很多运行依赖包。此外,每一块所需的依赖包的代码是不同的。为了找到这些包中,我们使用另一个工具pyinstaller。具体步骤如下:virtualenv envpack #创建一个新的环境,python包依赖关系更加复杂,创建一个新的环境可以减少包的最后介绍cd envpack # #输入目录复制到该目录,运行所需的包,和最后一个dll包是相同的脚本\\激活#激活和切换到virtualenv环境pip安装pyinstaller #安装包装工具pyinstallerpyinstaller #包装命令脚本\\禁用#包装成功后,使用命令禁用环境。

pyd文件,发布这些文件和dll。

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值