将python程序直接转成exe程序的方法很多,主流的工具有PyInstaller、cx_freeze、py2exe等,论及优缺点,可谓各有千秋。然而,再好的工具在使用的时候也会遇到各种各样的问题。这里无法比较哪个好那个坏,不同工具对不同类型程序的处理能力不同,也许你用这个方法转化出来的程序出问题了,换个方法就行了。本文主要介绍轿游py2exe的安装和使用。
py2exe的安装
点此下载和64位python2.7配套版本。
傻瓜式安装,就是一步一步往颤帆皮下点。
py2exe的使用
将python安装路径添加到系统环境变量Path值中。(若已添加,请忽略此步)
建立setup.py文件,文件中输入以下代码:
from distutils.core import setupimport py2exesetup(console=["将要转换的文件名称.py"])123
在终端(cmd)输入茄差以下命令:
setup.py py2exe
这样便完成了从.py文件到 .exe文件的转换,生成的软件在dist文件夹内。
这里需要注意的是:不同python程序不能一概而论,具体情况需要具体讨论。
例:当运行出错,提示缺少sip文件时,setup.py可修改为:
from distutils.core import setupimport py2exesetup(console=[{"script":"main.py"}], options={"py2exe":{"includes":["sip"]}})123
例:当你不想dos窗口停留,需要其一闪而过时,setup.py可修改为:
from distutils.core import setupimport py2exe
setup(window=['name.py']) #这里console改为window那么dos窗口不出现
首先,DLL封装应该不是太难的事情,特别是你这个更简单,但是你的函数本身是有错误的,你的函数名称为t,而你函数内部又定义了一个变量tas
integer,显然这是最基本的语法问题。为了防止本错误,我将你函数名称修改为了tt,然后修改了最后一行的代码tt
=
ar(t)
于是你的Function就变成了:
Function
tt(ByVal
mycell
As
Range)
'该函数用于提取简单的算术运算公式,可提取运算符号集
"(,-,*,/,^,)"
......
tt
=
ar(t)
End
Function
OK,谨以上述代码生成DLL文件,方法如下:
第一步:打开VB新建,选择ActiveX
DLL;
第二步:将你上面的代码,按照我的修改之后复制到Class1类模块里面,
以上两步因为太过于简单,我都不好意思截图了!
第三步:引用,这个很重要,参考腔磨弯截图,选中类似于"Microsoft
Excel
14.0....."这个部件伍闷;
确定之后,得到的可用的引用中增加了上图中我选中的那个选项,那么DLL成功一半,接着
第四步:修改工程属性名称为myFunctions,修改类Class1的名称为myFunction,参考截图:
myFunctions是我们生成的Dll的名称,而myFunction是我们在Excel的VBA中使用时引用的对象名。
完成以上四步之后,OK,点击VB的“文件”
-
“生成myFunctions.dll”。
OK,到此为止,DLL文件封装完毕。
然后就是使用,在EXCEL的VBE窗口中,通过“工具”-
“引用”-”浏览“选择我们刚刚生成的DLL文件myFunction.dll,然后通过图中的代码测试,注意C12单元格中,随便输入一个代数计算式:
如游竖果不懂,可追问!应该够详细了吧!忘记附上DLL文件了!补上附件:
封装的概念来自对面向对山嫌象的编程模式 比如说一个方法,你把他放到一个类里面, 下次如果别的地方码唯虚要用到的话,直接调用这个方法就行了,不用再重新编迟燃写。这样能明白么?
如果没有面向对象的基础,可以去了解一下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)