[Python-Dev] Setting project home path the best way

Christian Tismer tismer at stackless.com
Fri Nov 16 12:32:46 CET 2012


Hi Daniel,
no, I was not aware of this. I just read it up on
http://sayspy.blogspot.de/2010/03/various-ways-of-distributing-python.html
Yeah, thank you very much for this hint, very useful! ;-)
cheers - Chris
On 16.11.12 04:22, Daniel Holth wrote:
> Are you familiar with executing directories having __main__.py as python scripts?
>> Daniel Holth
>> On Nov 15, 2012, at 4:43 PM, Christian Tismer <tismer at 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 <kristjan at 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.com at python.org] On Behalf Of Christian Tismer
>>>> Sent: 11. nóvember 2012 20:31
>>>> To: python-dev at 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 at 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 at python.org
>> http://mail.python.org/mailman/listinfo/python-dev
>> Unsubscribe: http://mail.python.org/mailman/options/python-dev/dholth%40gmail.com

-- 
Christian Tismer :^) <mailto:tismer at stackless.com>
Software Consulting : Have a break! Take a ride on Python's
Karl-Liebknecht-Str. 121 : *Starship* http://starship.python.net/
14482 Potsdam : PGP key -> http://pgp.uni-mainz.de
phone +49 173 24 18 776 fax +49 (30) 700143-0023
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
 whom do you want to sponsor today? http://www.stackless.com/


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /