如何将python code 打包成linux系统下可执行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将python code 打包成linux系统下可执行?相关的知识,希望对你有一定的参考价值。
如何将pythoncode 打包成linux系统下可执行?
我现在在windows系统下,已经写完一只python 程序
并且用py2exe打包成.exe档案
也确实可以执行了
现在我的疑问是 是否有其他类似方法
也可以帮python程序打包让他可以在linux系统下执行呢?
(可不可以在windows打包好送去给linux使用呢??)
另外因为我在windows下安装很多模块(例如numpy)
不知道在linux打包会不会有问题??
(现在程序丢过去linux是不能跑的,因为缺少模块)
其实我有查到了pyinstaller,但似乎很多问题….
目前是参照这篇http://blog.csdn.net/linda1000/article/details/12946297
不过里面有一句话
“所以需新增另外一个用户,并给用户对pyinstaller所在的目录及所有父目录添加读写权限,避免运行后报‘mkdir’permission denied...”
这句话我已经设定好新用户,也让他有权限,但我不知道如何从新用户cd过去阿@@?
还有没有除了pyinstaller的方法吗?
或是有没有人使用过pyinstaller??可以救救我呢Q
-------------------------------------------------------------------------------------------------------------
后来我搞定了pyinstaller
但是产出的执行档我执行后
却出现UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 3-4 : ordinal not in range(128)
我有回去看那一行我print u’中文’,这样不行吗?
pyinstaller -w --onefile xx.py -n xx
不过我是mac下打的app包是这样
UnicodeEncodeError是小问题 可以试试
头加utf8识别
import sys
sys.reload()
sys.defaultencoding('utf8') 不知道拼错没
3.print u’中文’ 这样是可以的。会转成unicode编码 如果这样也是有问题 那么按照前两个操作就可以了 是因为你文件的编码不对
有没有什么教学可以参考阿??
看到昏头阿~~
这个官方文档很详细吧,使用文档的例子多测试几遍。
追问Freeze刚刚执行跑出失去了某一块模块…
如何将python3.6软件的py文件打包成exe程序
在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序。在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行打包的方法。关于cx_Freeze打包的方法,可以参考wangdamozhizhou博客windows下cx_Freeze生成Python可执行程序中的方法。由于方法主要是可以用于Python3.3版本的,高于该版本的Python无法使用。在我尝试的过程中,碰到的一个问题是:
安装cx_Freeze-4.3.3,找不到cxFreeze.bat
解决的方法是,在cmd命令行操作下,切换至放置cx_Freeze-4.3.3文件的Python安装目录下scripts目录下,使用以下代码自动生成:
python cxfreeze-postinstall
由于我安装的Python版本是3.6.2版本的,版本相对较新,cx_Freeze还没有更新版本至3.6版本。在我尝试很多次数失败后,决定采用pyinstaller来进行文件打包的方法。
下载pyinstaller
采用命令行操作的办法
pip install pyinstaller
或者采用更新、升级的方法:
pip install --upgrade pyinstaller
使用pyinstaller打包py文件成exe程序
打包文件成exe程序 test.py 为要打包的目录名
pyinstaller -F test.py
常用参数说明:
–icon=图标路径
-F 打包成一个exe文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件
pyinstaller -h 来查看参数
回车后,代码迅速操作,直到操作结束。
pyinstaller 改变生成exe程序的图标
pyinstaller -F --icon=my.ico test.py
以上是关于如何将python code 打包成linux系统下可执行?的主要内容,如果未能解决你的问题,请参考以下文章