一、前言
将做好的Python软件运行在树莓派上时,不想公开源码,就需要对文件进行封装(或称打包),本文主要介绍使用pyinstaller封装Python代码为可执行程序。
Python是一个脚本语言,被解释器解释执行。它的发布方式:(来自文章david++)
- .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库。(Python官方的各种安装包就是这样做的)
- .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库。在树莓派上运行.py文件时,有时会自动生成.pyc的文件,并且该文件如果作为模块,可被其他文件正常引用。
- 可执行文件:对于非码农用户或者一些小白用户,你让他装个Python同时还要折腾一堆依赖库,那简直是个灾难。对于此类用户,最简单的方式就是提供一个可执行文件,只需要把用法告诉Ta即可。比较麻烦的是需要针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,...)。
本文主要介绍第三种方式,之前在运行.py或.pyc文件时,需要在命令行中输入:python filename.py,通过对.py文件封装(不能封装.pyc文件),直接用鼠标双击生成的文件,可直接运行代码。
各种打包工具的对比如下:
树莓派的官方推荐系统为Raspbian(基于Debian系统),本文采用pyinstaller工具
二、安装pyinstaller
方式一:直接使用pip安装(强烈不推荐,可以安装成功,但是不能直接运行):
方式二:
1.官方下载源码(点击链接即可下载,支持Python版本 2.7, 3.4–3.7):https://github.com/pyinstaller/pyinstaller/tarball/develop
2.打开终端,cd到下载的压缩包(例如我直接下到桌面上),解压文件:
浏览了无数博客,大多到了这一步,就直接开始打包.py文件,但是在树莓派上会不断报错(报错内容不记得了,但是生成的两个文件夹中的dist内没有文件),经过痛苦的找答案过程,终于在官方文档中找到了答案(文档链接):
3.打包文件:
我是用来打包web项目的启动文件(项目目录:/home/pi/Desktop/myproject,启动文件为:web_server.py):
在项目目录中生成两个文件夹及一个web_server.spec文件,其中在dist文件夹中有一个可执行文件。
将此文件复制到上级目录(也就是跟web_server,py的同级目录下),双击执行即可。
(如运行web的启动程序报import错误,建议采用间接方式启动,如:新建web_server01.py,代码为:
将该文件封装,运行封装后的文件,可解决此问题)
到此这篇python执行pyc文件(python3.7运行py文件)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/pythonbc/20496.html