it0@it0-pc:~/桌面/luffy$ python3 -V
Python 3.8.10
it0@it0-pc:~/桌面/luffy$ pip3 -V
pip 24.1.2 from /usr/local/lib/python3.8/dist-packages/pip (python 3.8)
注意一定要保证python程序在电脑上可以正常运行!!!!!!! 该安装第三方库的安装库,该安装扩展的安装扩展!!!!!!!
python3 main.py
.
├── config
├── DB
├── horizontalSliderUI.py
├── icons
├── main.py
├── ui
└── utils
pip3 install pyinstaller
pyinstaller -v
pyinstaller -F -w main.py
# 可以通过pyinstaller --help查看帮助
.
├── build
├── config
├── DB
├── dist
├── horizontalSliderUI.py
├── icons
├── main.py
├── main.spec
├── ui
└── utils
dist目录中的main文件就是编译好的二进制文件。 此时从当前目录创建一个test文件夹把二进制移动到该目录 此时test目录结构为:
.
└── main
把程序的依赖配置目录啥的都放到test目录下(此处为test示例 根据自己实际情况来)
.
├── DB
│ ├── log
│ │ └── log.txt
│ └── user_DB.db
└── main
此时终端到test目录下执行./main文件测试程序是否可以正常启动,如有问题就看终端上的报错,没有问题则进行下一步。我这是显示没有config下的user_setting.yaml,所以把config文件放到了main可行性文件的上一级目录,一般不会出现这种问题,大部分是py代码写的不规范所导致的
在当前位置新建makedeb目录,然后按照以下结构创建目录结构,以下是我makedeb目录下的结构
├── DEBIAN
└── usr
├── lib
└── share
├── applications
└── icons
将test目录直接移动到lib目录下并且对应的config也要复制过来
├── DEBIAN
└── usr
├── lib
│ └── config
│ ├── user_setting.yaml
│ └── test
│ ├── DB
│ │ ├── log
│ │ │ └── log.txt
│ │ └── user_DB.db
│ └── main
└── share
├── applications
└── icons
到DEBIAN目录新增control文件,内容如下(自行百度含义):
Package: debpacktest
Version: 1.0.0
Architecture: arm64
Maintainer: luffy
Description: just a test
在/usr/share/applications下制作桌面图标 test.desktop文件
[Desktop Entry]
Name=debpacktest
Comment=An example
Exec=/usr/lib/test/main #可执行文件路径
Icon=/usr/share/icons/icc.ico #图标路径
Terminal=false #是否运行同时打开终端
Type=Application
X-Ubuntu-Touch=true
Categories=Development
为这个文件添加可执行权限
chmod +x test.desktop
在/usr/share/icons/文件夹下放icc.ico图标(图标名自定义跟上边配置呼应) 此时makedeb的目录结构如下:
├── DEBIAN
│ └── control
└── usr
├── lib
| └── config
| │ ├── user_setting.yaml
│ └── test
│ ├── DB
│ │ ├── log
│ │ │ └── log.txt
│ │ └── user_DB.db
│ └── main
└── share
├── applications
│ └── test.desktop
└── icons
└── icc.ico
到这里,一个基本的deb软件包就大功告成了。 我们返回到makedeb的上级目录。我们执行
sudo dpkg -b makedeb makedeb_1.0.0_arm64.deb
包的命名要符合规范,我这里是随便打的。 检验的话,可以输入(安装deb包),有桌面端的话,手动执行也可以
sudo dpkg -i makedeb_1.0.0_arm64.deb
我在应用列表里看到了我的程序 如果要卸载,请执行
sudo dpkg -r makedeb
参考链接 https://blog.csdn.net/u013541325/article/details/114954959 https://blog.csdn.net/qq_43790749/article/details/118027929
本文为北溟有鱼QAQ原创文章,转载无需和我联系,但请注明来自北溟有鱼QAQ https://www.amdzz.cn
最新评论