Comments (25)
I've reobfuscated the modules and made a new release:https://github.com/AKEric/skinner/releases/tag/Reobfuscate
See if that fixes the bug? I have my doubts, but since I can't repro it, it's hard to test/fix.
from skinner.
Sigh, I know what the issue is: I've been misinterpreting what the above 'marshal load fails' means.
I thought it meant, the version of Python PyArmor was using to obfuscate the code was different form the version of Python the code was authored in.
Nope. It's that if anyone tries to run the code that isn't in the same version of Python as PyArmor was when it was obfuscated, it fails.
which really sucks, lol. Kind of makes me question the usefulness of PyArmor at all. Armed with this I'll ping the dev and see if I can sort this out better.
It also explains the reasons it works at other studios with different Maya versions : They're internal to my company and have the source, thus it's not obfuscated to them.
from skinner.
PyArmor is becoming to difficult to work with, and their support is... not good.
I'd rather people use this tool successfully : I've just pushed the whole open source codebase with the latest package.
But I'd still appreciate
If this resonates with you, you can 'buy me a coffee' per the below suggested tipping rate: https://www.buymeacoffee.com/akeric
- Student / Hobbyist / Indy dev : Free! (but if you want to donate, I won't turn you down)
- Any other production : $25 a user.
It accepts Google Pay, Apple Pay, and Credit Card.
from skinner.
I'm just installing for the first time but experienced the same issue. 1.7 works but not 1.8. Some searching suggests it is pyarmor related.
https://pyarmor.readthedocs.io/en/latest/questions.html#marshal-loads-failed-when-running-xxx-py
from skinner.
"and now accepting paypal" lol
from skinner.
I've seen similar errors before: 100% of the time (so far) this means you're trying to run it in a Maya that's in Python 2.x, not 3.x.
Similar issue/error here: #2
The 1.1.8 update was a single line bugfix to a print statement. My guess would be, if you reverted back to 1.1.7 you'd see the exact same error. I've confirmed the 1.1.8 code works on multiple different machines with different Maya versions (2022 + the current 2024 beta).
Can you confirm your python version by running this in the Script Editor?
import sys
print(sys.version)
I've confirmed it works on 3.7.7 -> 3.9.7
Also: What you provided above is the 'short version' of a Maya error: In the Script Editor, can you enable : History -> Show Line Numbers In Errors & Show Stack Trace : If this is a legit error somehow, this will give me better debug info by re-running it.
from skinner.
Umm, ok. I was testing on Maya 2023 so the python 2.x is ruled out. I tried on a fresh prefs Maya and getting the same error. The stack trace does not give any more meaningful output. I attach a couple of videos on Maya 2022.3. Thanks
Skinner_v1.1.7.mp4
Skinner_v1.1.8.mp4
.
from skinner.
Could it be the numpy or scipy versions?
from skinner.
Really weird, I have no explanation. Both videos are on the same machine, same Maya, just two different versions of the tool?
I recently updated the Maya beta to a new version, and I was getting a numpy/scipy import error: I had to uninstall them/reinstall them via pip, and everything started working correctly again. Not sure if this is somehow related to you too?
But like I said.... I've tested this update on multiple machines now and cannot repro your issue :S
from skinner.
Yeah, same Maya, same machine, different versions of the tool (1.1.7 and 1.1.8), it really seems weird. Anyway, I'll let you know in case I find the issue. Thanks.
from skinner.
thanks for the feedback tcwilsonart & that link, I'll see if that has any bearing here.
from skinner.
Same here, Maya2022 -pythonver 3
import numpy as np
import scipy as sp
print(np.__file__)
print(sp.__file__)
C:\Program Files\Autodesk\Maya2022\Python37\lib\site-packages\numpy\__init__.py
C:\Program Files\Autodesk\Maya2022\Python37\lib\site-packages\scipy\__init__.py
import skinner.core as skinCore
skinCore.test()
# Error: RuntimeError: file ..\skinner\__init__.py> line 3: Marshal loads failed #
from skinner.
Hey - I am having the same issue.
Maya 2023
skinner v1.1.8
import skinner.core as skcore
File "<C:\p4ws\sharkmob\Tools\tech_art\base\maya\python\_third_party\skinner\core.py>", line 1, in <module>
File "<frozen skinner.core>", line 154, in <module>
File "<C:\p4ws\sharkmob\Tools\tech_art\base\maya\python\_third_party\skinner\utils.py>", line 1, in <module>
RuntimeError: Marshal loads failed
from skinner.
Same with Maya 2022 :(
from skinner.
I have same issue (Maya 2022, 3.7.7 Python), any solution yet?
...\skinner\__init__.py>", line 3, in <module>
# RuntimeError: Marshal loads failed #
from skinner.
1.7 version also not working for me, getting different error
...\skinner\utils.py>", line 1, in <module>
# File "<frozen skinner.utils>", line 202, in <module>
# AttributeError: 'NoneType' object has no attribute 'ndarray' #
from skinner.
Thanks for the feedback: I continue to be unable to repro this bug, and the tool is in use at multiple studios across multiple versions of Maya. That being said:
I've been doing some digging, and I'll try and look into it over the weekend. I think this has to do with how Pyarmor is obfuscating the code: I don't use marshal in my code, but Pyarmor does.
Question to anyone with this issue: Are you on Windows? Or another OS? I've only tested it on Windows.
However, this error (tomadr86):
# AttributeError: 'NoneType' object has no attribute 'ndarray' #
Would indicate that either numpy/scipy weren't installed correctly. Does this code run in Maya correctly?
import numpy as np
import scipy as sp
print(np.__file__)
print(sp.__file__)
from skinner.
Windows 10, Maya 2022, version 1.1.7 works, 1.1.8 errors out.
Windows 10, Maya 2023, both versions, 1.1.7 and 1.1.8 error out.
from skinner.
Question to anyone with this issue: Are you on Windows? Or another OS? I've only tested it on Windows.
Windows 10
from skinner.
Guess what? It worked in Maya 2023.3! No more "Marshal loads failed". Oddly enough v1.1.8 is still giving the error in Maya 2022.4
Windows 10, Maya 2023.3, v1.1.8
Could it be the python version that causes the error?
Thank you and cheers!
from skinner.
Can confirm that it works on Windows10 on 2023.
But now it doesn't work with 2022.
What version of python are you using to do the obfuscation?
I think you might have to do a specific version for 37 + 39?
Anyways, we are on 2023 and earlier releases work on 2022 so we can use them if we need to.
Thanks for trying to sort this, I appreciate it is a pain if you can't repro the issue yourself
from skinner.
From [Maya-Python] google group.
https://groups.google.com/g/python_inside_maya/c/K_ATtyvFrCg/m/HMgIyih7AwAJ
Looks like the Python version is to blame.
https://stackoverflow.com/questions/67448667/pyarmor-marshal-loads-failed
https://pyarmor.readthedocs.io/en/latest/questions.html
from skinner.
Hey Eric, that's very kind of you. To be honest I do not use in my day to day work as my rigging days are behind, I just wanted to give you feedback for your efforts. Cheers
P.S: I tried to buy you a couple of coffees (credit card) but I did not work for me (error processing)
from skinner.
Thanks for giving it a go and the feedback ok the payment issue
"Technology" amirite?
from skinner.
yeah, Paypal did the trick. Enjoy your coffees/beers! Cheers
Carlos Rico Adega
from skinner.
Related Issues (6)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from skinner.