Smithsonian / dpo-cook

DPO Cook - 3D Model/Geometry/Texture Processing Server
Apache License 2.0
74 stars 9 forks source link

Have to manually install PyMeshLab with python v3.9 on windows 10/11? #71

Open campbell-ja opened 1 year ago

campbell-ja commented 1 year ago

When doing fresh install and build on Windows 10/11, PyMeshLab isn't installed with python v3.9

can fix by running

"C:\Program Files\Python39\python.exe" -m pip install pymeshlab

this is using the Python 3.9.13 x64 installer.

Windows 11 v10.0.22621 Build 22621

Output from Cook Server with PyMeshLab error before manually installing PyMeshLab:

INFO  Task 'DecimateMesh' started
GET /clients/6867a59e-0ec5-411d-a93e-4f8cd9098823/jobs/e46efa1a-a3e9-244c-924a-5ab45eaffc65/report 200 28448 - 1.142 ms
DEBUG Task 'Meshlab' file written: '_meshlab_yS9FkkBPUXdv.mlx'
GET /clients/6867a59e-0ec5-411d-a93e-4f8cd9098823/jobs/e46efa1a-a3e9-244c-924a-5ab45eaffc65 200 489 - 0.589 ms
DEBUG Task 'Meshlab' Traceback (most recent call last):
DEBUG Task 'Meshlab'
File "C:\Software\DPO\dpo-cook-2018\server\scripts\MeshlabExecuteFilter.py", line 2, in <module>
DEBUG Task 'Meshlab'
    import pymeshlab
DEBUG Task 'Meshlab'
ModuleNotFoundError: No module named 'pymeshlab'
ERROR Task 'Meshlab' tool 'Meshlab' exited after 0.08 seconds - ERROR: (1) Tool Meshlab: terminated with code: 1
ERROR Task 'DecimateMesh' terminated with error after 00:00:01.110
ERROR Task 'Recipe' terminated with error after 00:00:01.159
gjcope commented 1 year ago

Yep, PyMeshLab is an independent program made by the Meshlab folks, so it has to be installed itself. Looking at the documentation page, it should probably include the link to the PyMeshLab repo alongside the Meshlab one. Is there something else you feel is missing?

campbell-ja commented 1 year ago

got it. thanks for the clarification!

The only other comment I can add is that on win 11/10 it looks like the 'cscript.exe' tool is not listed in the default tools.js template. so when trying to run the si-downloads recipe it fails at the SyncObjMtl task.

I usually use npm run start and stop, but running npm run server it does indicate that cscript cant be found.

easy fix to locate and find in system32 folder, and then add to the tools.js