← Back to team overview

kicad-developers team mailing list archive

Re: Mac OSX build, with scripting, codename "wife"


Hi Dick,

The modules just have to be in a place on the PYTHONPATH (afaik).  We can
either put them in a location that is already on the PYTHONPATH, or put
them in a location that isn't on the PYTHONPATH and provide instructions on
how to modify your PYTHONPATH or modify it for the user.

I have seen more projects where they put the default modules in
dist/site-packages, than ones where they do not--however, the audience for
kicad doesn't necessarily match the audience for these other projects.  I
believe the standard response for "I want to modify these files that are
part of the package" is to copy them into another directory, like your
~/.kicad directory, put it higher on your PYTHONPATH than
site-/dist-packages, and then modify away.

For things that are purely python modules, and don't tie into apps, the
status quo is putting it in Pypi and letting users install it however they
want--these days, probably virtualenv and pip.  From a python point of
view, this might be the right answer, but I believe there was pushback on
this when Miguel suggested something similar.

I think it's also important we make the distinction between python pieces.
We have some SWIGgy stuff, as well as human-readable and -modifiable things
like the footprint wizard.

If you want them to start out in a user-writable directory, what's the next

Adam Wolf
Wayne and Layne, LLC

On Mon, Mar 11, 2013 at 9:06 AM, Dick Hollenbeck <dick@xxxxxxxxxxx> wrote:

> On 03/11/2013 08:25 AM, Adam Wolf wrote:
> > Miguel,
> >
> > I only know about Blender/Python on Windows.
> >
> > I think site-packages (dist-packages on Debian/Ubuntu) might be the
> > right way to do it.  Put the python modules in a place that's
> > already on the PYTHONPATH that package managers already expect folks
> > to put modules into.  The idea of having an environment variable to
> > tell CMake another place to put it is great, but I think
> > site-packages is a sane default.
> I know of no python programmers named root.
> No thanks.  My name is also not root.
> So on my system, this would be considered extremely inconvenient.  I'd
> like to actually be able to edit the scripts.  If the intention is to
> make them not editable, then we should write them in C++ and compile them.

Follow ups