当前位置: 首页 > news >正文

Pyinstaller打包OSError: could not get source code【终极解决】

pyinstaller 打包的时候,发现只要是@torch.jit.script装饰的函数,会报以下错误:

Traceback (most recent call last):File "torch/_sources.py", line 25, in get_source_lines_and_fileFile "inspect.py", line 1123, in getsourcelinesFile "inspect.py", line 960, in findsource
OSError: could not get source code
......
OSError: Can't get source for <function network.split_utils at 0x7f90b842f5b0>

<function network.split_utils at 0x7f90b842f5b0>中的split_utils是你的函数名。找到这个函数所在的py文件,并按照下面的方法添加进打包datas!
参考:https://github.com/pyinstaller/pyinstaller/issues/6865
将包含@torch.jit.script.py文件打包进可执行文件即可。eg:

ROOT_DIR="path/to/your/project/folder/"
a = Analysis(['main.py'],pathex=[ROOT_DIR,],binaries=[],datas=[(ROOT_DIR+"your_module/utils.py", "your_module/")   # 包含原始py文件]

重点是:
(ROOT_DIR+"your_module/utils.py", "your_module/")
如果你担心源码泄漏,请更换其他方式。比如放弃使用加速,也就是不使用@torch.jit.script
毕!

http://www.lryc.cn/news/412554.html

相关文章:

  • 【计算机毕业设计】707高校宿舍管理系统
  • 从C++看C#托管内存与非托管内存
  • Linux进程间通信--IPC之无名管道
  • Oracle19c数据库system密码锁定
  • java之hashCode() 方法和 equals(Object obj) 方法之间的关系
  • 首届「中国可观测日」圆满落幕
  • [Docker][Docker NetWork][下]详细讲解
  • 安卓系统在未来如何更好地解决隐私保护与数据安全的问题?
  • MySQL innodb单表上限一般多少
  • 更小、更安全、更透明:Google发布的Gemma推动负责任AI的进步
  • 基于Django框架的医疗耗材管理系统的设计实现-计算机毕设定制-附项目源码(可白嫖)48999
  • 物联网协议篇(1):modbus tcp和modbusRTU的区别是什么?
  • JVM系列 | 对象的消亡——HotSpot的设计细节
  • vue 运行或打包过程报错 JavaScript heap out of memory(内存溢出)
  • git分支提交方法
  • 从微架构到向量化--CPU性能优化指北
  • 声声入耳,事事如意 爱可声「如意」助听器即将上市!
  • 生物实验室设备文件采集如何才能质量和效率双管齐下?
  • Framework源码整编、单编、烧录过程
  • TypeScript类型断言
  • Mallet:一款针对任意协议的安全拦截代理工具
  • 【IEEE出版】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024,9月20-22)
  • 自修室预约小程序的设计
  • 用于跟踪个人图书馆的BookLogr
  • 深入解析JVM垃圾回收机制:Full GC、Minor GC与Major GC
  • Windows10点击文件夹右键卡死的解决办法
  • C# 设计模式之单例模式
  • 【组合数学】【Python】【小练习】一、斯特灵近似式求阶乘
  • 【IEEE Fellow特邀报告,JPCS独立出版】第四届电子通信与计算机科学技术国际学术会议(ECCST 2024,9月20-22)
  • DockerCompose部署示例