zoukankan      html  css  js  c++  java
  • pyinstaller

    pip install 进行安装,将自动安装好依赖,
    pyinstaller -F 要打包的文件,这种适用于一个文件的包,如果是要打包一个文件夹换参数

    最好使用32位的机器和环境来打包,因为64大的包32位机器可能不兼容,

    如果py脚本中有sys.argv传参。生成的exe文件就可以直接使用命令行 xxx.exe 参数1,参数2.....进行传值

    问题,用64位win7打包传参卡住,即使不用arhv也是堵塞状态。

    猜测,32位机器来打包,可能会解决

    场景:在windows主机上做fping检测。
    做了一个fping的脚本,使用下载下来的fping.exe文件来执行,windows上的fping和linux上的fping参数不同,需区别对待。最后将文件一起打包放入我们的监控agent客户端中。使客户端启动的时候自动支持fping的检测

    解决:

    1. py脚本中使用的模块是subprocess和sys模块,使用sys.argv来接收传入参数,subprocess.popen来执行终端的命令,
    2. 对执行结果进行拆分,得出结果
    3. 将fping.exe文件和py脚本都放到要打包的文件夹中,直接在agent.d文件夹中配置好userparamsters.conf文件,其中配置的就是我们fping的自定义key,这里需要注意,自定义key传参时,直接使用 $1 $2 $3 $4 来进行传参,但是windows跟linux不通的一点在于,windows中如果$1 $2 $3。。。没有接受到参数是不会给程序传入控制'' 的,而在linux中会,所在在配置自定义key的时候需要使用 "" "$1" "$2" 这样才能传入空值。在zabbix中使用这个key的时候,可以在[]中什么也不写, , 也不用写,自动就会填入空值。
    4. 将准备好的整个文件夹压缩成一个包,(注意目录层级,以及文件的完整性)在setup.py中配置pyinstaller的打包参数,
      '--add- 包.zip'
    5. 执行setup.py文件, python setup.py
    6. 打包完成后,在dist文件夹下就会看到打好的包

    注意,打包尽量用低版本的系统来进行打包,不然高版本系统打的包低版本使用不了,相反,低版本打的包对高版本系统兼容

  • 相关阅读:
    实验三 进程调度模拟程序
    实验二作业调度模拟程序
    最新广商小助手 项目进展 OpenGL ES 3D在我项目中引用 代码太多只好选重要部分出来
    最后冲刺 我的项目 广商小助手
    最新一课 老师指点用Listview适配器
    安卓小学生四则运算
    大三上学期安卓一边学一边开始做一个自己觉得可以的项目 广商小助手App 加油
    我要再接再力 学更多
    用场景来规划测试工作
    阅读第13,14,15,16,17章
  • 原文地址:https://www.cnblogs.com/cizao/p/11484322.html
Copyright © 2011-2022 走看看