[Python.NET] success… pythonnet running in maya on osx64bit

brad at fie.us brad at fie.us
Wed Jan 9 19:43:31 CET 2013


sorry… clarification:

the .config needs to be set to "__Internal"

if you set it to "maya" it will only work from running mayapy

if you set it to "__Internal" it will work form both mayapy and maya.  That's a mono thing.  As an interesting fluke, you can use "maya" for mayapy and "mayapy" for maya.


On Jan 9, 2013, at 12:47 PM, "brad at fie.us" <brad at fie.us> wrote:

> success… pythonnet running in maya on osx64bit
> 
> It took a good amount of hacking.  But it does work.
> 
> I'm going to work on wrapping all my changes and fixes into a patch or two.
> 
> However, some general notes:
> 
> You need to build your own mono in 64 bit mode, because they don't ship a precompiled 64bit mono for OSX currently.  I found it easiest to make a custom Portfile for macports, to do this.  Basic instructions can be found on the mono project's website.
> 
> pythonnet desperately needs a configure script.  Most of what I've been doing is ripping out a lot of pkg-config stuff that is making assumptions about python and mono locations.  Apparently, someone put a whole bunch of hard-coded ubuntu paths in there.  Once I've finished doing that, I can actually do what I need to do.  Which is tell the build system where my 64bit mono is, and which python to use.
> 
> in my case that's:
> 
> export PKG_CONFIG_PATH=/path/to/my/mono/pkgconfig
> make PYTHON=/Applications/Autodesk/maya2013/Maya.app/Contents/bin/mayapy
> 
> The makefiles themselves should not be finding mono-2 and glib-2.0.  They should assume them to be available to pkg-config already.  Finding them is something for a configure script.  And I'd argue it probably should set the python as well.
> 
> I had to hack up Python.Runtime.dll.config and tell it to "link" to "maya" rather than some form of "python26."  Python is statically linked into maya, as it is with a lot of 3rd party embedded python implementations.  The symbols it wants to link to, are in the maya binary, not a shared library.
> 
> So from a build system point of view, I'm thinking the two big takeaways are:
> 
> it REALLY needs a configure script.
> 
> Python.Runtime.dll.config probably needs to be generated as part of the build process and listen to the configure script as to where to point itself.  If I know where to point it to, during the build, I should be able to configure that as part of the build process.
> 
> Anyhow.  Those are my thoughts.  I'll try and send off some patches once I do some cleaning up.
> 
> -brad
> _________________________________________________
> Python.NET mailing list - PythonDotNet at python.org
> http://mail.python.org/mailman/listinfo/pythondotnet



More information about the PythonDotNet mailing list