首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meshlab脚本工作于Python,而不是pyinstaller之后。

Meshlab脚本工作于Python,而不是pyinstaller之后。
EN

Stack Overflow用户
提问于 2021-07-09 21:20:03
回答 1查看 266关注 0票数 0

我有一个简单的Python Mesher.py,它在命令行上使用Windows格式的文件名字符串,并在输入点云(.xyz文件)上运行MeshLab:

代码语言:javascript
复制
import sys
from pathlib import Path
import pymeshlab as ml

xyz_file = Path(sys.argv[1]).as_posix()
output_file = Path(sys.argv[2]).as_posix()

ms = ml.MeshSet()
ms.load_new_mesh(xyz_file)
ms.load_filter_script('filters.mlx')
ms.apply_filter_script()
ms.save_current_mesh(output_file)

它在虚拟环境中的Python3.9.6解释器上运行良好,但是当我用pyinstaller (也安装在venv上)将它打包以生成一个.exe可执行文件时,当我使用相同的命令行参数运行时,我会得到这个错误:

代码语言:javascript
复制
    Traceback (most recent call last):
      File "Mesher.py", line 9, in <module>
        ms.load_new_mesh(xyz_file)
    pymeshlab.pmeshlab.PyMeshLabException: Unknown format for load: xyz
    [24580] Failed to execute script Mesher

为什么pymeshlab可以从Python中识别我的.xyz文件,但是当相同的脚本被包装在一个Windows可执行文件中时却不能识别?

当我为我的文件使用一个固定的文件名而不是将它传递到命令行,或者即使我使用一个.ply文件作为输入时,也会发生这种情况。我的脚本的.exe版本不识别标准的MeshLab文件类型。

EN

回答 1

Stack Overflow用户

发布于 2021-07-19 17:52:46

我能够通过使用cx_Freeze而不是pyinstaller来实现这个目标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68322802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档