Hi Brad,

Thank you very much for the detailed explanation, I will try this and report about my progress :-)


On Fri, Jun 14, 2013 at 2:45 AM, brad@fie.us <brad@fie.us> wrote:
Second, here is the latest, ugly ugly diff from my working version.

I would not just blindly apply this.  It needs to be taken apart.   I did a lot of bad things in it.  It needs to be revisited.  But it does work and did provide me functioning pythonnet binaries and config files that work correctly.  It imports into the system python2.7 as well as into Maya's embedded Python and Nuke's embedded Python.  All on OSX.

Some highlights…

There were earlier commits of changes made by a user, "VIKAS DHIMAN"  And those changes seemed to hard-code the system to ubuntu/debian locations and names.  And a lot of what I had to do was revert those changes.  However, I have been heavy handed in this diff in some places.  Which is why I wouldn't want it committed back without re-working it.  It should be neutral, rather than for one platform or the other.

I added dllmap entries into the .config file for OSX. I also added an "__internal" which is what mono will need for embedded python.  This allows it to run in maya and nuke on OSX in many cases.

VIkas' setup.py file assumed the location of the pkg-config directory.  I removed that assumption.  So you need to set the PKG_CONFIG_PATH yourself before building.  That is what allows you to pick which mono it builds against.  Which is kind of important.  And that's what a configure script is for.  but since there isn't one, you do it yourself.  On a proper linux package managed system, it's already set.   There should be no need to hard-code it in the default case.

I changed the monoclr makefile to accept the existing python executable rather than override it.

I changed it to use gcc to compile rather than g++.  I recall that being an Xcode thing.

I updated it to use the more modern names of pkg-config packages for mono  and glib.  I made sure it used the glib flags too.  iirc, glib's pkg-config is in the mac-ports dist location per my port file.  so in my case, that's /opt/local/lib/pkgconfig/ .

I have a bug fix in there that deals with "Reflection Only" assemblies being scanned for types when they should not be.

I removed a clirmodule.il file that needs to not be there, in order for some of the build logic to function.

I added some code to make it skip scanning of generics that have no namespace.  this is a hack and probably needs further review.

And there's  ton of cruft in there where monodevelop was updating .csproj files and such.

On Jun 12, 2013, at 10:35 AM, Alon Dulce <alondu@gmail.com> wrote:


I want to run python.NET  on MAC OSX (Mountain Lion) and since I'm new to MAC/UNIX and I'm not a programmer I naturally turned to the web:

*1st : I tried iron python using eclipse with MONO (configuring eclipse iron python interpreter to the mono framework "/Library/Frameworks/Mono.framework/Versions/icy" file) - eclipse doesn't allow this and I got the following error:

"No output was in the standard output when trying to create the interpreter info."

*2nd : I tried python.NET on XAMARIN :

I followed all the instructions but it's not clear to me how can I write python in XAMARIN, import clr  etc. (I set up the solution as explained in the link above but I'm not sure about the next step).

* 3rd try :
I found a post on this mailing list :

I tried using the original makefile and setup.py (both makefiles) with "sudo setup.py install" and received the following error:
"dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/sudo) is setuid or setgid
/bin/sh: pkg-config: command not found
Traceback (most recent call last):
  File "setup.py", line 46, in <module>
    argsDict = pkgconfig('glib-2.0', 'mono-2')
  File "setup.py", line 32, in pkgconfig
    raise RuntimeError("An error has occured")
RuntimeError: An error has occured

I also tried editing the makefiles and setup.py according to the diff file supplied in the thread but still no success.

Is there a makefile/ setup.py file that will work on MAC ? maybe some sort of step by step monkey guide... :-)

I appreciate the help,
Python.NET mailing list - PythonDotNet@python.org