cxfreeze


优秀作文 2019-05-05 22:23:19 优秀作文
[摘要](1) [cxfreeze]利用cx_Freeze将py文件打包成exe文件(图文全解)python是一个非常非常优秀的编程语言,它最大的特性就是跨平台。python程序几乎可以在所有常见的平台中进行使用,而且大部分无需修改任何代码!不过,python也有一点点小缺憾(这个是由于自身本质决定,不能叫

【www.shanpow.com--优秀作文】

(1) [cxfreeze]利用cx_Freeze将py文件打包成exe文件(图文全解)


python是一个非常非常优秀的编程语言,它最大的特性就是跨平台。python程序几乎可以在所有常见的平台中进行使用,而且大部分无需修改任何代码!不过,python也有一点点小缺憾(这个是由于自身本质决定,不能叫缺憾,不过在这就这么称呼吧),那就是python程序的执行必须要有解释器的参与。那么python的程序如何在没有解释器的平台上使用呢?很简单,将python程序打包成exe可执行文件即可!
    在python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller。py2exe恐怕是三者里面知名度最高的一个,但是同时相对来说它的打包质量恐怕也是最差的一个。pyinstaller打包很好,但是操作工序较为复杂。so个人还是推荐cx_freeze。
    首先:cx_freeze下载地址: http://sourceforge.net/projects/cx-freeze/files/ 
    接着,介绍一下cx_freeze的使用方法。
第一步:检查cx_freeze是否安装正确。
运行cmd,切换到cxfreeze.bat,然后执行 "cxfreeze -h" 看看能否出效果
如果安装正确,如图显示
如果显示的如下图片,请查看一下你的python安装路径
修改路径的办法
打开你的python安装文件夹,例如我的python安装文件夹在G盘,那么用记事本打开G:\python\Scripts\cxfreeze.bat
如图
修改路径到自己的安装路径
然后保存,关闭记事本,重新检验,看看是否正确。
第二步:如果安装正确,那么接下来的事情就非常简单了
正式开始打包,命令为:cxfreeze hello.py --target-dir dist
 
命令解释:hello.py 是你要打包的主文件、启动文件
 
            Dist为要目标文件夹,打包后会生成dist目录,里面就有打包后的可执行文件。
注意:
只能指定一个要打包的模块,也就是启动模块
所有.py文件都不能有中文字符,否则会出现编码异常。
发布后,可执行文件执行路径不能有中文(最好也不要有空格)。
启动执行的文件中不要有下面这种判断,否则可执行文件执行会没有任何效果。 
if __name__ == "__main__": 
main()
打包成功的图片:
 
双击生成的exe文件可以使用了是不是很高兴呢?怎么觉得启动的时候后面有个黑糊糊的窗口不舒服?那你在生成命令里面加个参数吧!例子:
cxfreeze hello.py --target-dir dist --base-name=123
over。如果你对生成有其他要求,请参见:
http://cx-freeze.sourceforge.net/cx_Freeze.html



(2) [cxfreeze]用cx_Freeze把python打包成exe可执行文件

cxfreeze_用cx_Freeze把python打包成exe可执行文件


 以前从来没有试过把Python打包,昨天试了试,发现打包也是一件挺容易的事情。python打包有很多种选择。cx_Freeze是一种,py2exe也可以,还有一个pyinstaller。我用的是cx_Freeze,而py2exe因为sf实在太慢连不上。所以没办法。只好先用可以下载的。cx_Freeze的资料比较少,不过不是太痛苦。因为好像cx会比py2exe简便易用。而且好像是跨平台的。不错不错。cx_Freeze的用法就一个命令FreezePython.exe打包也很快捷:FreezePython.exe  --install-dir="/your/path/to/install"  app.py然后就会把app.py 以及其依赖的所有模块,包和库全部归整后放到--install-dir所指的路径下。碰到两个问题。一个是文件编码。一开始总是说找不到gb2312的编码。后面google了一下,发现要这么做:在app.py中添加from encodings import gbk一句。然后就可以了。如果用到了gettext,要注意po文件中的"Content-Type: text/plain; charset=gbk\n""Content-Transfer-Encoding: cp936\n"这两句要这样写。字符集要用gbk,不要用gb2312另一个问题是控制台隐藏:默认cx_Freeze打包后都是控制台程序。就算你打包一个wxPython程序,也会有一个黑黑的控制台在后面做背景。要去掉控制台就要这样:FreezePython.exe --install-dir="\your\install\path" --base-binary=Win32GUI.exe app.py加了--bash-binary后就可以只运行前台的界面了。不过如果程序出错,会弹出一个错误对话框,说找不到traceback模块。这就要在app.py文件中加一句import traceback把错误反馈以对话框形式弹出



(3) [cxfreeze]cx_freeze打包含有paramiko模块的程序

cxfreeze_cx_freeze打包含有paramiko模块的程序


主要问题是封装后,调用paramiko时,会有两个错误发生:错误一:
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/cx_Freeze/initscripts/Console.py", line 29, in <module>
    exec code in m.__dict__
  File "RelightMultiRender.py", line 20, in <module>
  File "/JGHome/xiangquan/eric/RelightMultiRender/response.py", line 16, in <module>
    from Ui_MainWindow import Ui_MainWindow
  File "/JGHome/xiangquan/eric/RelightMultiRender/Ui_MainWindow.py", line 12, in <module>
    import paramiko
  File "/usr/lib/pymodules/python2.6/paramiko/__init__.py", line 69, in <module>
    from transport import randpool, SecurityOptions, Transport
  File "/usr/lib/pymodules/python2.6/paramiko/transport.py", line 34, in <module>
    from paramiko.channel import Channel
  File "/usr/lib/pymodules/python2.6/paramiko/channel.py", line 36, in <module>
    from paramiko import pipe
ImportError: cannot import name pipe
发生问题的原因是cx_freeze不知为什么没有把paramiko中的pipe.pyc文件封装到library.zip中,解决方法是解压library.zip,将缺少的pipe.pyc文件添加到其中的paramiko文件夹中,再重新打包为library.zip,然后替换掉旧的文件包。
错误二:
运行程序到连接ssh时,会出现“ LookupError: unknown encoding: idna ” 。
idna:Internationalized domain name, 用来做远程连接的文字编码。
光在源文件import部分添加from encodings import idna是不够的,因为idna.py文件里也用到了ascii编码,因此也需要引用ascii.py才行,所以最终需要在文件引用部分添加:
from encodings import ascii
from encodings import idna
两句,然后再重新封装。



本文来源:https://www.shanpow.com/xx/285408/

《cxfreeze.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

相关阅读
  • 优秀作文300字【六篇】 优秀作文300字【六篇】
  • 关于优秀作文开头结尾【六篇】 关于优秀作文开头结尾【六篇】
  • 优秀作文800字(合集4篇) 优秀作文800字(合集4篇)
  • 500字优秀作文范文汇总四篇 500字优秀作文范文汇总四篇
  • 一件烦心事四年级优秀作文精选四篇 一件烦心事四年级优秀作文精选四篇
  • 奋斗是青春最亮丽的底色优秀作文(合集三篇) 奋斗是青春最亮丽的底色优秀作文(合集三篇)
  • 扫黄打非征文优秀作文集合4篇 扫黄打非征文优秀作文集合4篇
  • 家乡的风俗500字优秀作文(合集四篇) 家乡的风俗500字优秀作文(合集四篇)
为您推荐