软件打包

9 篇文章 0 订阅
6 篇文章 0 订阅

1、Python程序打包

本教程主要用于将python程序(*.py)打包成windows系统下的可执行文件(*.exe)。

参考网站:http://www.pyinstaller.org/(pyinstaller下载安装);https://pyinstaller.readthedocs.io/en/v3.3.1/usage.html(使用教程)

方式①:pyinstaller [optionsscript [script …] | specfile

e.g:-i表示给软件打包一个图标image.ico;-F表示只打包成一个exe文件;-w表示打包成运行时带窗口,无后台的exe文件(即不可以在后台输命令,如果需要输命令,如密码之类的,就不要带-w)

pyinstaller -i image.ico myscript.py -F -w

方式②:pyinstaller options name.spec

name.spec文件内容如下(e.g):

block_cipher = None
a = Analysis(['minimal.py'],
     pathex=['/Developer/PItests/minimal'],
     binaries=None,
     datas=None,
     hiddenimports=[],
     hookspath=None,
     runtime_hooks=None,
     excludes=None,
     cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
     cipher=block_cipher)
exe = EXE(pyz,... )
coll = COLLECT(...)

详细请参考网站:https://pyinstaller.readthedocs.io/en/v3.3.1/spec-files.html

补充一个pyqt的错误:"could not find or load the Qt platform plugin"

解决方案:https://github.com/pyinstaller/pyinstaller/pull/2991

按照解决方案中提交的内容修改文件即可:

①修改qt.py文件

②修改rthooks.bat

2、C++程序打包

本教程主要用于将C++项目(project)打包成一个可执行文件(*.exe),使得我们的project在任何未配置特定环境(如opencv)的windows系统中都可以执行,打包后按照正常软件安装即可使用。

参考网站:https://www.cnblogs.com/lizhigang/p/6877590.html?utm_source=itdadao&utm_medium=referral

软件:Inno Setup 编译器

打开Inno Setup 编译器,file->new-next->输入自己的Application name……等信息(可选默认)->next->到Application main executable file时,选择自己C++ project中编译运行产生的exe文件(我选的release下的),如果程序中用到了dll文件,或其他额外的文件,则在other application files中添加(Add files/Add folder)->Application Shortcuts选上Create an Uninstall shortcut in the Start Menu folder->选定输出文件夹(Custom compiler output folder)->其他默认即可

 

3、将exe和dll文件打包成单一的启动文件

参考网站:https://blog.csdn.net/update7/article/details/78796494

正常情况下按照这个流程走就行,但其中有两个自解压方法不能满足我的要求!!!

1)“模式”中设置“解包到临时文件夹”,其实就是解包到电脑用户的临时文件夹,即C:\Users\用户名\AppData\Local\Temp\文件夹下,不知道如何更改这个临时文件夹;

2)若不采用临时文件夹模式,在“常规”中可以设置具体的解压路径,但文件会先被解压出来,不能隐藏执行。

由于我的程序需要读取一个随时会更改的“配置文件”,而且读取的是“配置文件”的相对路径。所以我想要得效果是:1)的情况下,确定临时文件夹路径;2)的情况下,隐藏自解压文件夹。这样方可读取我的“配置文件”。

当然,还有个很low的方法,就是将程序中读取“配置文件”的代码确定为读取“配置文件”的绝对路径。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值