Are you familiar with executing directories having __main__.py as python scripts?
Daniel Holth On Nov 15, 2012, at 4:43 PM, Christian Tismer <tis...@stackless.com> wrote: > Hi Kristjan, > > does that mean that your scheme simply works, without any config step > necessary after I did my checkout? > This would in fact be an interesting alternative to > > Python setup.py develop > > but I'm not sure if this is the same scheme on windows and Os X. > > Getting this part right was rather tricky, and I fear this is still an issue. > > Right now I think to just force my users to run the install step, since it is > quite > accepted in general. > > Still, I'd love to see a way with no action needed at all: write yout your > structure, > and it works as-is. Seems to be impossible without tricks. > > Cheers - chris > > Sent from my Ei4Steve > > On Nov 15, 2012, at 10:17, Kristján Valur Jónsson <krist...@ccpgames.com> > wrote: > >> When python is being run from a compile environment, it detects this by >> looking for "Lib" folders in directories above the one containing the >> executable. >> (I always thought that this "special" execution mode, hardwired in, was a >> bit odd, and suggested that this could be made a function of pep405) >> Anyway, keeping your executable as part of the tree is the trick I use, and >> to make things nice I put right next to it: >> site.py >> sitecustomize.py >> >> sitecustomize.py is where you would put the logic to set sys.path by walking >> up the hierarchy and finding the proper root. >> site.py is there to merely import sitecustomize.py, in case a site.py is not >> found in all the default places python looks. >> >> K >> >> >>> -----Original Message----- >>> From: Python-Dev [mailto:python-dev- >>> bounces+kristjan=ccpgames....@python.org] On Behalf Of Christian Tismer >>> Sent: 11. nóvember 2012 20:31 >>> To: python-dev@python.org >>> Subject: [Python-Dev] Setting project home path the best way >>> >>> Hi friends, >>> >>> I have a project that has its root somewhere on my machine. >>> This project has many folders and contains quite some modules. >>> >>> There is a common root of the module tree, and I want to use >>> - either absolute imports >>> - relative imports with '.' >>> >>> Problem: >>> >>> - I want to run any module inside the heirarchy from the command-line >>> >>> - this should work, regardless what my 'cwd' is >>> >>> - this should work with or without virtualenv. >>> >>> So far, things work fine with virtualenv, because sys.executable is in the >>> project module tree. >>> >>> Without virtualenv, this is not so. But I hate to make settings like >>> PYTHONPATH, because these are not permanent. . >>> >>> Question: >>> >>> How should I define my project root dir in a unique way, without setting an >>> environment variable? >>> What is the lest intrusive way to spell that? >>> >>> Reason: >>> >>> I'd like to make things work correctly and unambigously when I call a script >>> inside the module heirarchy. Things are not fixed: there exist many >>> checkouts In the file system, and each should know where to search its >>> home/root in the tree. >>> >>> Is this elegantly possible to deduce from the actually executed script file? >>> >>> Cheers - chris >>> >>> Sent from my Ei4Steve >>> _______________________________________________ >>> Python-Dev mailing list >>> Python-Dev@python.org >>> http://mail.python.org/mailman/listinfo/python-dev >>> Unsubscribe: http://mail.python.org/mailman/options/python- >>> dev/kristjan%40ccpgames.com >> >> <winmail.dat> > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/dholth%40gmail.com _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com