aws-deadline / deadline-cloud-for-3ds-max

AWS Deadline Cloud for 3ds Max
Apache License 2.0
8 stars 3 forks source link

Bug: Opening the 3ds Max Submitter fails with "runtime error : Failed to open file run_ui.py" #27

Open jblagden opened 1 month ago

jblagden commented 1 month ago

Expected Behaviour

After installing the submitter with the steps in DEVELOPMENT.md the submitter opens and can submit jobs.

Current Behaviour

When opening Deadline cloud submitter in 3dsmax, "runtime error : Failed to open file run_ui.py" is displayed and it cannot be opened.

Reproduction Steps

Install the submitter with the steps from DEVELOPMENT.md.

As a workaround these steps work (requires the project to be built): Full steps to install 3dsMax submitter:

  1. Copy STDCMenuCreator.ms into your 3DS Max startup scripts (e.g. C:\Program Files\Autodesk\<version>\scripts\Startup)
  2. Put AWSDeadline-SubmitToDeadlineCloud.mcr in 3ds Max usermacros directory (e.g. C:\Users\<username>\AppData\Local\Autodesk\3dsMax\<version>\ENU\usermacros).
  3. Install deadline package to C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts using a Python 3.9 installation (for compatibility with Max)
    • pip install deadline -t C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts
  4. Put the attached _version.py file into the <repository root>\src\deadline\max_submitter directory.
  5. Create a python folder in your scripts directory (e.g. C:\Users\<username>\AppData\Local\Autodesk\3dsMax\<version>\ENU\scripts).
  6. Copy the contents of max_submitter folder into that newly created python folder and into C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts.

Duplicating the contents of max_submitter in two spots is overkill, but the finer points of what's getting pulled from where isn't clear to me at the moment. :)

SP-r-mehedi commented 1 month ago

3dsMax Version 2024.2.1 Update

I followed the instruction for manual installation at DEVELOPMENT.md

Manual installation

  1. Copy STDCMenuCreator.ms into your 3DS Max startup scripts (e.g. C:\Program Files\Autodesk\<version>\scripts\Startup)
  2. Put AWSDeadline-SubmitToDeadlineCloud.mcr in 3ds Max usermacros directory (e.g. C:\Users\<username>\AppData\Local\Autodesk\3dsMax\<version>\ENU\usermacros).
  3. Create a python folder in your scripts directory (e.g. C:\Users\<username>\AppData\Local\Autodesk\3dsMax\<version>\ENU\scripts).
  4. Copy max_submitter folder into that newly created python folder.
  5. Install deadline package (from CodeArtifact) to ~\DeadlineCloudSubmitter\Submitters\3dsMax\scripts using a Python 3.9 installation (for compatibility with Max)
    • pip install deadline -t ~\DeadlineCloudSubmitter\Submitters\3dsMax\scripts

I got the same error: https://styleport.gyazo.com/60110b7c9c4c30d4f05778a627b20cec Here is the error log

-- Error occurred in anonymous codeblock; filename: C:\Users\********\AppData\Local\Autodesk\3dsMax\2024 - 64bit\ENU\usermacros\DeadlineCloud-SubmitToDeadlineCloud.mcr; position: 556; line: 17
-- MAXScript MacroScript Error Exception:
-- Runtime error: 
Traceback (most recent call last):
  File "C:\Users\********i\AppData\Local\Autodesk\3dsMax\2024 - 64bit\ENU\scripts\python\run_ui.py", line 15
  File "C:\Program Files\Autodesk\3ds Max 2024\Python\Lib\site-packages\shiboken2\files.dir\shibokensupport\__feature__.py", line 148, in '_import' function
  File "<string>", line 8, in 'find' function
ModuleNotFoundError: No module named 'utilities'

-- MAXScript callstack:
--  thread data: threadID:10728
--  ------------------------------------------------------
--  [stack level: 0]
--  In codeblock macroScript: DeadlineCloud_SubmitToDeadlineCloud; filename: C:\Users\********\AppData\Local\Autodesk\3dsMax\2024 - 64bit\ENU\usermacros\DeadlineCloud-SubmitToDeadlineCloud.mcr; position: 557; line: 17
--      Locals:
--          debug: false
--      Externals:
--  ------------------------------------------------------
--  [stack level: 1]
--  called from top-level

Hope to : I need to use 3DsMax for Deadline Cloud Custom Job submission. I need to execute some Maxscripts in the AWS cloud Workers and that will give me some render images. I want to have such feature in cloud submitter.

Currently, We are using Deadline into our on premise Netwrok system to render these images using 3dsmax Scripts. In the deadline submitter we have option to run Max Scripts https://styleport.gyazo.com/455cffffd220b8f839d4efd65348d6de I need to have such features in Deadline cloud. Or may be a method to submit the Custom job.

mmasdoria commented 3 weeks ago

Hello everybody, I encountered exactly same error as SP-r-mehedi What is this "utilities" missing package ? Please could you provide any help because wa can't test AWS deadline cloud for 3dsmax. Thanks a lot. Regards

ghost commented 3 weeks ago

@SP-r-mehedi

Seems like the step Copy the contents of max_submitter folder into that newly created python folder and into C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts is half complete. Did you copy the contents of max_submitter folder into C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts ?

mmasdoria commented 2 weeks ago

Hi, Following "Install for Development" bloc, I have succeded to submit a job. My worker a windows 10 VM with 3Ds max installed received the job and try to execute. I precise I submit a very simple 3dsmax scene (a cube). But on worker it never succed to render the image, I get following error

2024/06/17 23:54:22+02:00 ADAPTOR_OUTPUT: STDERR: [7884:1252:0617/235421.941:ERROR:gl_surface_qt.cpp(190)] eglCreatePbufferSurface failed and surfaceless context not available
2024/06/17 23:54:22+02:00 ADAPTOR_OUTPUT: STDERR: [7884:1252:0617/235421.941:ERROR:gl_surface_qt.cpp(197)] Requested OpenGL implementation is not supported. Implementation: 9

I've joined the entire log. Maybe aws deadline team already see this issue in 3ds max. Thank for help.

nxp3d-farm_nxp3d-farm-queue_session-58a88a23f3e74a189f0c64528e137c1d.log

mmasdoria commented 2 weeks ago

Hi, It's ok now I had to install deadline-cloud-for-3ds-max as a tier module directly in 3dsmax dedicated python runtime. I have render my first image. I'm so happy.