如何将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编码 如果这样也是有问题 那么按照前两个操作就可以了 是因为你文件的编码不对

参考技术A 类似的还有Freeze,distutils追问

有没有什么教学可以参考阿??
看到昏头阿~~

追答

这个官方文档很详细吧,使用文档的例子多测试几遍。

追问

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

采用命令行操作的办法

在cmd命令行中,输入代码:
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 来查看参数
回车后,代码迅速操作,直到操作结束。

由此,py文件打包好为exe文件。

pyinstaller 改变生成exe程序的图标

pyinstaller -F --icon=my.ico test.py

 








以上是关于如何将python code 打包成linux系统下可执行?的主要内容,如果未能解决你的问题,请参考以下文章

如何将一整个python工程打包

linux系统之定制rpm包

如何在linux系统中,将python3.4更新到python3.5

将Python程序打包成linux可执行文件

如何将python3.6软件的py文件打包成exe程序

使用pyinstaller将python文件打包成exe文件