python怎么封装成exe,python怎么封装成软件
Cython是一种结合了Python和c的语法的语言,可以简单的认为是在Python中加入静态类型后的语法。
热门IT软件开发工作室,大量免费python视频教程,欢迎在线学习!
安装Cython
如果已经安装了Cython,可以跳过这一步。安装Cython需要Easy_install。python 2 . 7 . 9及以上版本已经附带了easy_install。在Visual Studio的命令提示符下完成(注意,如果您使用Python版本的32位或64位Visual Studio的命令提示符,您可能需要以管理员权限运行):
轻松安装-Ucython使用Cython编译
在PyCharm中新建一个项目,然后新建一个py文件:great_module.py,在这个文件中输入以下内容:
defstr_add(str1,str2):
Returnint(str1) int(str2)这是一个简单的函数,将一个字符串转换成int和。为了让Cython编译这个函数,您需要创建一个新的run.pyx文件,并添加以下内容:
cdefpublicintstr _ add(const char * str 1,constchar*str2):
Returnint(str1) int(str2)相关推荐:《Python入门教程》
其中cdef和public是cython关键字,可以帮助函数对外调用。然后用下面的命令在PyCharm中编译,生成两个文件,run.h和run.c。
Cythonrun.pxyCython支持Python的动态类型特性。如果在后续步骤中使用VS的命令行编译,也可以生成DLL。但是实验的时候不知道为什么提取不出DLL中的函数地址,所以这里统一使用静态类型。所有参数和返回值都使用Cython的static type关键字来指定数据类型。
通过VS编译得到动态链接库
在得到。c和。h文件,我们需要为它们创建一个VS DLL项目。打开VS软件,新建一个win32项目,选择DLL作为应用类型,选择空项目作为附加选项。复制正义。c和。h文件添加到存储项目代码的文件夹中,并将它们添加到项目中。在项目中添加一个空的dllmain.cpp,并添加以下代码:
#includePython.h
#includeWindows.h
#包含“run.h”
外部 c
{
_ _ declspec(dll export)int _ _ stdcall _ str _ add(const char * a,constchar*b)
{
returnstr_add(a,b);
}
}
BOOLWINAPIDllMain(hinstanceinstdll,DWORDfdwReason,LPVOIDlpReserved)
{
开关(fdwReason)
{
caseDLL_PROCESS_ATTACH:
py _ Initialize();
//初始化//dll时调用。python3就是这么写的,python2改成,initrun()。查看生成的run.h
py init _ run();
打破;
caseDLL_PROCESS_DETACH:
py _ Finalize();
打破;
}
returnTRUE
}右键项目,属性,进入VC目录页签。在包含路径中添加Python的包含路径,比如“c : \ program files \ Python 36 \ include”。在库目录中添加Python lib,比如“c : \ program files \ Python 36 \ libs”。注意编译版本选择Release,根据Python版本选择x64平台或x32平台。编译后,可以获得dll文件。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。