> 
> 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.
> 
>> 
>> Thanks for the fix!!
> 
> Your welcome.  It might take me another day or so to get this all sorted out 
> but I'll get there.  Once I get this part of it working, the next task is to 
> figure out how get the wxPython scripting part of it working which will 
> likely be a lot more involved.  My primary motivation to get Python scripting 
> working is to create pick-n-place report files for auto-insertion machines.  
> It makes more sense to me to use a scripting language to generate the files 
> than C++.
> 

Wow, that's a great usage. :-)

> Wayne
> 
>> 
>> Enviado desde un móvil
>> 
>> El 12/01/2013, a las 18:15, Wayne Stambaugh <[email protected]> 
>> escribió:
>> 
>>> I've been attempting to resolve my Python scripting build issues on MinGW32 
>>> on Windows and I have a few questions for the folks who wrote the cmake 
>>> build code.  Why are we not using cmake's FindPythonInterp() instead of 
>>> specifying the python executable on the path?  Specifying the Python 
>>> interpreter on the command line at build time seems unnecessary to me.  
>>> CMake's FindPythonInterp supports defining a a specific version of Python 
>>> by defining Python_ADDITIONAL_VERSIONS.  I'm guessing we would want to do 
>>> that because python2 is currently defined as the default Python interpreter 
>>> so I'm also assuming that the scripting code generated does not work with 
>>> Python3.
>>> 
>>> There is also a link bug on MinGW because rt is defined as one of the link 
>>> libraries in SWIG_LINK_LIBRARIES.  Actually, someone attempted to fix it by 
>>> adding and conditional statement to only add rt on Linux but they forgot to 
>>> take it out of the original list.
>>> 
>>> For future reference the indentation level for CMake files is 4 spaces and 
>>> CMake statements should be lower case.
>>> 
>>> If no one objects, I will fix these issues which should make the Python 
>>> scripting builds more reliable.
>>> 
>>> Thank you for all your efforts in bringing scripting to KiCad.
>>> 
>>> Wayne
>>> 
>>> _______________________________________________
>>> 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

Reply via email to