英伟达开发板打包遇到问题记录

本文记录了在英伟达开发板上进行Python项目打包时遇到的问题及解决方法。首先介绍了简单版本的打包命令及成功运行的情况,然后讲述了在增加第三方库后,虽然打包无误但执行时出现问题。通过分析,发现在Windows环境下项目运行正常。为了解决此问题,文章详细讨论了如何编写和配置spec文件,特别是设置hiddenimports来处理隐藏的依赖模块。经过配置,成功解决了运行异常的问题,并给出了修改后的打包运行结果。
摘要由CSDN通过智能技术生成

1、简单版本

import os
if __name__ == "__main__":
    print('linux dabao to exe ......................')

打包命令如下,

pyinstaller -F websockets_dabao.py

打包成功:

运行结果:

2、增加第三方库

import os
import websockets

if __name__ == "__main__":
    print('linux dabao to exe ......................')

打包没有报错

 执行确有问题

 --------------以上python项目已在windows上验证了,成功,没有任何报错信息-------------

配置一:spec文件配置(hiddenimports

spec文件中主要包含4个class: Analysis, PYZ, EXE和COLLECT.

    Analysis以py文件为输入,它会分析py文件的依赖模块,并生成相应的信息

    PYZ是一个.pyz的压缩包,包含程序运行需要的所有依赖

    EXE根据上面两项生成

    COLLECT生成其他部分的输出文件夹,COLLECT也可以没有

为了进行自定义配置的打包,首先需要编写打包的配置文件.spec文件。当使用pyinstaller -d xxx.py时候会生成默认的xxx.spec文件进行默认的打包配置。通过配置spec脚本,并执行pyinstaller -d xxx.spec完成自定义的打包。

首先给出举例python项目的spec文件配置,增加 hiddenimports

# -*- mode: python ; coding: utf-8 -*-

block_cipher = None
a = Analysis(['websockets_dabao.py'],
             pathex=['/home/jffc/work/project/web_demo'],
             binaries=[],
             datas=[],
             hiddenimports=['websockets', 'websockets.legacy', 'websockets.legacy.auth', 'websockets.client', 'websockets.server'],
             hookspath=[],
             hooksconfig={},
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cip
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值