On Jan 14, 2013 3:59 PM, "Wayne Stambaugh" <[email protected]> wrote: > > On 1/14/2013 3:12 AM, Miguel Angel Ajo Pelayo wrote: > > It's two different problems, > > > > 1) the fixswigimports.py fix the way swig (inside pcbnew.py) loads > > pcbnew.so/pyd <http://pcbnew.so/pyd> internally, the swig generated .py > > has problems to support "internal" (inside your own program) object > > bindings. It's documented, but not widespread used. We fix it to make it > > work in both cases, when doing "import pcbnew" from inside an > > scripting-pcbnew and when doing import pcbnew from > > standalone/commandline python. > > > > 2) At the time we started with scripting, I raised some discussion about > > this topic, and thought that python2.x has more widespread library > > support (compared to python 3 advantages). > > I'll take a look at it and see if I can make the KiCad scripting work on > Python 2 & 3. I may have to write some creative CMake code to get it to > work but it should be possible. > > I have a quick question regarding the KICAD_SCRIPTIN_WXPYTHON option. > When this option is enabled, is wxPython.h included in any of the SWIG > generated code. I did quick grep of the scripting folders and didn't > see wxPython.h included anywhere so the only other place I can think > that it would end up is in the SWIG generated code. If it's not, that > will make life a whole lot easier. If it is, building wxPython on > Windows to install the development files is proving to be painful.
We talked about providing prebuilt [wx] python binaries. > > > > > > > It's also true, that, if we made the move now, and having phoenix in > > place, it could be less disruptive if we find ourselves forced to move > > into python3 at some moment in time. > > > > Anyway, that most probably would force us to move our wrappers into SIP > > and get the both "wrappings" (internal wrapping, external wrapping). > > > > I'm not really opposed to do it, or do some testing, but I'm really > > concerned about: > > > > 1) SIP support (no so widespread support at swig, that will let us work > > with other languages too) > > 2) SIP internal/external wrapping > > 3) Phoenix real support. (is it only a test branch or will it be > > supported in time?, it could also become the main branch at some time..) > > Even if Phoenix becomes the default way to build wxPython, I see no > reason to switch from SWIG to SIP. SWIG gives use the opportunity to > support other scripting languages. SIP appears to be a Python only code > generator. > > > 4) My time has become a little scarce: I have challenging big projects > > for this year, and also a new (first) daughter, which I love, but it's a > > time black hole 8] > > There is no better way to spend your time than with your family. > > > > > > > I think I dropped all my thoughts about the topic. :-) > > > > > > > > > > 2013/1/14 Dick Hollenbeck <[email protected] <mailto:[email protected]>> > > > > On 01/13/2013 06:57 PM, Wayne Stambaugh wrote: > > > On 1/13/2013 4:58 PM, Miguel Angel Ajo Pelayo wrote: > > >>> The CMake module you were looking for is FindPythonInterp which > > finds the Python interpreter and sets the PYTHON_EXECUTABLE > > variable. You can define a specific Python version by setting > > PythonInterp_FIND_VERSION. I still have some validation to do on > > Linux when both Python3 and Python2 are installed just to make sure > > everything works as expected. > > >>> > > >>> Also found that using "#!/usr/bin/env python2" in > > fixswigimports.py breaks the windows build so I am currently working > > on a solution to this problem. I changed python2 to python and it > > fixes the build on windows but may cause problems for Linux. I'm > > thinking since the python interpreter is being called to run this > > script that the "#!/usr/bin/env python2" line is even necessary. > > >>> Is there any reason to run this script outside of the KiCad > > scripting build? > > >> It's only needed when we make a scripting build and the pcbnew.py > > is regenerated. It will fix the way it looks for _pcbnew.so / .pyd > > so when running from a pcbnew with embedded python, it won't > > >> reload the DLL and use the internal swigs to pcbnew objects. > > >> > > >>> If not, then I should be able to safely remove this from > > fixswigimports.py. If it cannot be removed, I may have to use CMake > > to generate this file on the fly to add the correct Python > > environment string to the beginning of the file. > > >> May be we can just call $PYTHON_EXECUTABLE fixswigimports.py, > > most probably this little script will run within python3, but not sure. > > > The last I recall is that code generated by SWIG is not yet compatible > > > with Python 3. That's why Python 2 is still required to build > > wxPython. > > > It's been a while since I've used SWIG so maybe that has changed. > > > Until I see a wxPython release built against Python 3, I'll stick with > > > Python 2. > > > > Swig is there now: > > > > http://www.swig.org/Doc1.3/Python.html#Python_python3support > > > > wxpython for python 3.x is known as Phoenix, and it is also probably > > build-able at this time. > > > > > > But they did not do the interface to C++ in Phoenix using SWIG. > > > > > > https://groups.google.com/forum/?fromgroups=#!topic/wxpython-users/p69PjUnMN-c > > > > Used SIP instead: > > > > http://riverbankcomputing.co.uk/software/sip/intro > > > > In any case it looks like python 3.x is an option, as it should be, > > since its about 5 > > years old or more. > > > > > > > > > > > > > > _______________________________________________ > > Mailing list: https://launchpad.net/~kicad-developers > > Post to : [email protected] > > <mailto:[email protected]> > > Unsubscribe : https://launchpad.net/~kicad-developers > > More help : https://help.launchpad.net/ListHelp > > > > > > > > > > -- > > > > Miguel Angel Ajo Pelayo > > http://www.nbee.es > > +34 636 52 25 69 > > skype: ajoajoajo > > > > > > _______________________________________________ > > Mailing list: https://launchpad.net/~kicad-developers > > Post to : [email protected] > > Unsubscribe : https://launchpad.net/~kicad-developers > > More help : https://help.launchpad.net/ListHelp > > > > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

