howto PYTHONPATH

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

howto PYTHONPATH

Floris van Manen
Kan iemand mij de werking van PYTHONPATH uitleggen?
En dan niet zozeer waarvoor het is maa wel hoe of dat de inhoud van die omgevingsvariabele wordt samengesteld.
Los van het feit dat je er zelf iets in kunt zetten, blijkt dat onderweg naar het opstarten van python er ook een en ander wordt toegevoegd. Hoe kun je inzicht krijgen wie er wat op welk moment toevoegt?  Wie bepaald de volgorde?

In mijn geval geeft binnen ipython de sys.path een volgend beeld:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame-1.9.2a0-py2.7-macosx-10.9-x86_64.egg
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1-py2.7.egg
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.7.3-py2.7.egg
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/Users/vm/Library/Python/2.7/lib/python/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Numeric
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyObjC
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/wx-3.0-osx_cocoa
/Library/Python/2.7/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/extensions
/Users/vm/.ipython

Maar ik heb geen idee wie het /System/Library/... erin heeft geplaatst (en op die plek) met alle gevolgen voor niet vinden van de juiste versies...
Waarom staan er doublures in?
Wordt er standaard niet recursief de paden afgegaan?
Wie kan hier wat licht op schijnen ?

.Floris

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Johan Otten
Het werkt niet recursief,
En hier word het path samen gesteld.


  • /usr/lib/python2.6/site.py
  • /usr/lib/python2.6/dist-packages/site.p

het is geen goed idee om deze files aan te passen, als je problemen hebt met je packages/libs zou ik voor virtualenv gaan.
http://superuser.com/questions/247620/how-to-globally-modify-the-default-pythonpath-sys-path


2014-05-27 9:57 GMT+02:00 Floris van Manen <[hidden email]>:
Kan iemand mij de werking van PYTHONPATH uitleggen?
En dan niet zozeer waarvoor het is maa wel hoe of dat de inhoud van die omgevingsvariabele wordt samengesteld.
Los van het feit dat je er zelf iets in kunt zetten, blijkt dat onderweg naar het opstarten van python er ook een en ander wordt toegevoegd. Hoe kun je inzicht krijgen wie er wat op welk moment toevoegt?  Wie bepaald de volgorde?

In mijn geval geeft binnen ipython de sys.path een volgend beeld:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame-1.9.2a0-py2.7-macosx-10.9-x86_64.egg
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1-py2.7.egg
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.7.3-py2.7.egg
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/Users/vm/Library/Python/2.7/lib/python/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Numeric
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyObjC
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/wx-3.0-osx_cocoa
/Library/Python/2.7/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/extensions
/Users/vm/.ipython

Maar ik heb geen idee wie het /System/Library/... erin heeft geplaatst (en op die plek) met alle gevolgen voor niet vinden van de juiste versies...
Waarom staan er doublures in?
Wordt er standaard niet recursief de paden afgegaan?
Wie kan hier wat licht op schijnen ?

.Floris

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Jaap Broekhuizen
Ik denk dat het sowieso beter is om virtualenv te gebruiken als je daar de
mogelijkheid voor hebt. Die zorgt er namelijk voor dat je een specifieke versie
van Python, met een specifieke lijst van pakketten kan gebruiken in een
ge-sandboxede omgeving. Daar heb je dus geen last van dit soort dingen waar
andere pakketjes je Python path kapot maken.

Als je niet weet wat virtualenv is: http://virtualenv.readthedocs.org/en/latest/

--
Met vriendelijke groet,

Jaap Broekhuizen
jaapbroekhuizen.nl

On Tue, May 27, 2014 at 10:17:46AM +0200, Johan Otten wrote:

> Het werkt *niet *recursief,
> En hier word het path samen gesteld.
>
>
>
>    - /usr/lib/python2.6/site.py
>    - /usr/lib/python2.6/dist-packages/site.p
>
>
> het is geen goed idee om deze files aan te passen, als je problemen hebt
> met je packages/libs zou ik voor virtualenv gaan.
> http://superuser.com/questions/247620/how-to-globally-modify-the-default-pythonpath-sys-path
>
>
> 2014-05-27 9:57 GMT+02:00 Floris van Manen <[hidden email]>:
>
> > Kan iemand mij de werking van PYTHONPATH uitleggen?
> > En dan niet zozeer waarvoor het is maa wel hoe of dat de inhoud van die
> > omgevingsvariabele wordt samengesteld.
> > Los van het feit dat je er zelf iets in kunt zetten, blijkt dat onderweg
> > naar het opstarten van python er ook een en ander wordt toegevoegd. Hoe kun
> > je inzicht krijgen wie er wat op welk moment toevoegt?  Wie bepaald de
> > volgorde?
> >
> > In mijn geval geeft binnen ipython de sys.path een volgend beeld:
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame-1.9.2a0-py2.7-macosx-10.9-x86_64.egg
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1-py2.7.egg
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.7.3-py2.7.egg
> > /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
> > /Users/vm/Library/Python/2.7/lib/python/site-packages
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Numeric
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyObjC
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/wx-3.0-osx_cocoa
> > /Library/Python/2.7/site-packages
> >
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/extensions
> > /Users/vm/.ipython
> >
> > Maar ik heb geen idee wie het /System/Library/... erin heeft geplaatst (en
> > op die plek) met alle gevolgen voor niet vinden van de juiste versies...
> > Waarom staan er doublures in?
> > Wordt er standaard niet recursief de paden afgegaan?
> > Wie kan hier wat licht op schijnen ?
> >
> > .Floris
> >
> > _______________________________________________
> > Python-nl mailing list
> > [hidden email]
> > https://mail.python.org/mailman/listinfo/python-nl
> >

> _______________________________________________
> Python-nl mailing list
> [hidden email]
> https://mail.python.org/mailman/listinfo/python-nl

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Floris van Manen
Natuurlijk is virtualenv te verkiezen, maar dat lost de vraag nog niet op.
Hoe wordt de volgorde binnen het PYTHONPATH bepaald?
Ik gebruik de macport distributie, dus alles zou (in principe) in de /opt/local folder moeten komen.
Maar dan zie je plotseling toch een /System of /Library entry verschijnen...

.F




On 27 May 2014, at 10:35, Jaap Broekhuizen <[hidden email]> wrote:

> Ik denk dat het sowieso beter is om virtualenv te gebruiken als je daar de
> mogelijkheid voor hebt. Die zorgt er namelijk voor dat je een specifieke versie
> van Python, met een specifieke lijst van pakketten kan gebruiken in een
> ge-sandboxede omgeving. Daar heb je dus geen last van dit soort dingen waar
> andere pakketjes je Python path kapot maken.
>
> Als je niet weet wat virtualenv is: http://virtualenv.readthedocs.org/en/latest/
>
> --
> Met vriendelijke groet,
>
> Jaap Broekhuizen
> jaapbroekhuizen.nl
>
> On Tue, May 27, 2014 at 10:17:46AM +0200, Johan Otten wrote:
>> Het werkt *niet *recursief,
>> En hier word het path samen gesteld.
>>
>>
>>
>>   - /usr/lib/python2.6/site.py
>>   - /usr/lib/python2.6/dist-packages/site.p
>>
>>
>> het is geen goed idee om deze files aan te passen, als je problemen hebt
>> met je packages/libs zou ik voor virtualenv gaan.
>> http://superuser.com/questions/247620/how-to-globally-modify-the-default-pythonpath-sys-path
>>
>>
>> 2014-05-27 9:57 GMT+02:00 Floris van Manen <[hidden email]>:
>>
>>> Kan iemand mij de werking van PYTHONPATH uitleggen?
>>> En dan niet zozeer waarvoor het is maa wel hoe of dat de inhoud van die
>>> omgevingsvariabele wordt samengesteld.
>>> Los van het feit dat je er zelf iets in kunt zetten, blijkt dat onderweg
>>> naar het opstarten van python er ook een en ander wordt toegevoegd. Hoe kun
>>> je inzicht krijgen wie er wat op welk moment toevoegt?  Wie bepaald de
>>> volgorde?
>>>
>>> In mijn geval geeft binnen ipython de sys.path een volgend beeld:
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame-1.9.2a0-py2.7-macosx-10.9-x86_64.egg
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1-py2.7.egg
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.7.3-py2.7.egg
>>> /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
>>> /Users/vm/Library/Python/2.7/lib/python/site-packages
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Numeric
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyObjC
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/wx-3.0-osx_cocoa
>>> /Library/Python/2.7/site-packages
>>>
>>> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/extensions
>>> /Users/vm/.ipython
>>>
>>> Maar ik heb geen idee wie het /System/Library/... erin heeft geplaatst (en
>>> op die plek) met alle gevolgen voor niet vinden van de juiste versies...
>>> Waarom staan er doublures in?
>>> Wordt er standaard niet recursief de paden afgegaan?
>>> Wie kan hier wat licht op schijnen ?
>>>
>>> .Floris
>>>
>>> _______________________________________________
>>> Python-nl mailing list
>>> [hidden email]
>>> https://mail.python.org/mailman/listinfo/python-nl
>>>
>
>> _______________________________________________
>> Python-nl mailing list
>> [hidden email]
>> https://mail.python.org/mailman/listinfo/python-nl
>
> _______________________________________________
> Python-nl mailing list
> [hidden email]
> https://mail.python.org/mailman/listinfo/python-nl

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Reinout van Rees
On 27-05-14 11:41, Floris van Manen wrote:
> Hoe wordt de volgorde binnen het PYTHONPATH bepaald?

Wat het ook nog kan zijn: PYTHONPATH is een shell environment variabele.
Als die er is is dat de basis voor wat er in je python sys.path terecht
komt.

/system en /library? Dan zou ik eens "export" intypen in je shell en dan
kijken of er PYTHONPATH tussen staat.


Reinout

--
Reinout van Rees                    http://reinout.vanrees.org/
[hidden email]             http://www.nelen-schuurmans.nl/
"If you're not sure what to do, make something. -- Paul Graham"

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Floris van Manen

On 27 May 2014, at 14:16, Reinout van Rees <[hidden email]> wrote:

> On 27-05-14 11:41, Floris van Manen wrote:
>> Hoe wordt de volgorde binnen het PYTHONPATH bepaald?
>
> Wat het ook nog kan zijn: PYTHONPATH is een shell environment variabele. Als die er is is dat de basis voor wat er in je python sys.path terecht komt.
>
> /system en /library? Dan zou ik eens "export" intypen in je shell en dan kijken of er PYTHONPATH tussen staat.
>


nee, geen PYTHONPATH in de shell

soms vanuit de editor wel:
/opt/local/usr:/opt/local/lib/python2.7/site-packages/:/usr/local/lib/python2.7/site-packages

Maar geen /System of /Library


Is er een debug methode om de samenstelling van het pad te volgen ?



.F

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Roel Bruggink
PYTHONPATH is een environ var en kan gebruikt worden om sys.path aan te vullen.
Beter gezegd, te pre-penden.

Normaal gesproken gebruik je dit niet en installeer je eggs in je virtualenv, of je gebruikt zc.buildout of een combinatie van beide.

Voorbeeld:

 ❯ python -c 'import sys; print sys.path'
['', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', '/Library/Python/2.7/site-packages']

 ❯ PYTHONPATH=/henk python -c 'import sys; print sys.path'
['', '/henk', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', '/Library/Python/2.7/site-packages']




2014-05-27 15:57 GMT+02:00 Floris van Manen <[hidden email]>:

On 27 May 2014, at 14:16, Reinout van Rees <[hidden email]> wrote:

> On 27-05-14 11:41, Floris van Manen wrote:
>> Hoe wordt de volgorde binnen het PYTHONPATH bepaald?
>
> Wat het ook nog kan zijn: PYTHONPATH is een shell environment variabele. Als die er is is dat de basis voor wat er in je python sys.path terecht komt.
>
> /system en /library? Dan zou ik eens "export" intypen in je shell en dan kijken of er PYTHONPATH tussen staat.
>


nee, geen PYTHONPATH in de shell

soms vanuit de editor wel:
/opt/local/usr:/opt/local/lib/python2.7/site-packages/:/usr/local/lib/python2.7/site-packages

Maar geen /System of /Library


Is er een debug methode om de samenstelling van het pad te volgen ?



.F

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl



--
Roel Bruggink
http://www.fourdigits.nl/mensen/roel-bruggink

Four Digits BV
http://www.fourdigits.nl tel: +31(0)26 4422700

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Johan Otten
In reply to this post by Floris van Manen

Hoe bedoel je "vanuit de editor"?

On May 27, 2014 4:05 PM, "Floris van Manen" <[hidden email]> wrote:

On 27 May 2014, at 14:16, Reinout van Rees <[hidden email]> wrote:

> On 27-05-14 11:41, Floris van Manen wrote:
>> Hoe wordt de volgorde binnen het PYTHONPATH bepaald?
>
> Wat het ook nog kan zijn: PYTHONPATH is een shell environment variabele. Als die er is is dat de basis voor wat er in je python sys.path terecht komt.
>
> /system en /library? Dan zou ik eens "export" intypen in je shell en dan kijken of er PYTHONPATH tussen staat.
>


nee, geen PYTHONPATH in de shell

soms vanuit de editor wel:
/opt/local/usr:/opt/local/lib/python2.7/site-packages/:/usr/local/lib/python2.7/site-packages

Maar geen /System of /Library


Is er een debug methode om de samenstelling van het pad te volgen ?



.F

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Floris van Manen

On 27 May 2014, at 22:01, Johan Otten <[hidden email]> wrote:

> Hoe bedoel je "vanuit de editor"?

In textmate kun je apart de PYTHONPATH instellen.
Buiten de sheel.

.F
_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Floris van Manen
In reply to this post by Roel Bruggink

On 27 May 2014, at 16:17, Roel Bruggink <[hidden email]> wrote:

> PYTHONPATH is een environ var en kan gebruikt worden om sys.path aan te vullen.
> Beter gezegd, te pre-penden.
>
> Normaal gesproken gebruik je dit niet en installeer je eggs in je virtualenv, of je gebruikt zc.buildout of een combinatie van beide.
>
> Voorbeeld:
>
>  [hidden email]
>  ❯ python -c 'import sys; print sys.path'
> ['', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', '/Library/Python/2.7/site-packages']
>
>  [hidden email]
>  ❯ PYTHONPATH=/henk python -c 'import sys; print sys.path'
> ['', '/henk', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', '/Library/Python/2.7/site-packages']
>
>
> Zie ook http://www.stereoplex.com/blog/understanding-imports-and-pythonpathen https://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH
>


Dat heb ik allemaal wel begrepen.
Ook de werking en dat je er zelf dingen aan toe kunt voegen en alles.

Wat ik niet kan thuisbrengen is hoe die /System en /Library entries opduiken.
En op die plek.
(En hoe ik ze weer weg kan krijgen)


.F

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: howto PYTHONPATH

Ronald Oussoren
In reply to this post by Floris van Manen

On 27 May 2014, at 09:57, Floris van Manen <[hidden email]> wrote:

> Kan iemand mij de werking van PYTHONPATH uitleggen?
> En dan niet zozeer waarvoor het is maa wel hoe of dat de inhoud van die omgevingsvariabele wordt samengesteld.
> Los van het feit dat je er zelf iets in kunt zetten, blijkt dat onderweg naar het opstarten van python er ook een en ander wordt toegevoegd. Hoe kun je inzicht krijgen wie er wat op welk moment toevoegt?  Wie bepaald de volgorde?
>
> In mijn geval geeft binnen ipython de sys.path een volgend beeld:
>
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame-1.9.2a0-py2.7-macosx-10.9-x86_64.egg
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller-2.1-py2.7.egg
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.7.3-py2.7.egg
> /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
> /Users/vm/Library/Python/2.7/lib/python/site-packages
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Numeric
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyObjC
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/wx-3.0-osx_cocoa
> /Library/Python/2.7/site-packages
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/extensions
> /Users/vm/.ipython
>
> Maar ik heb geen idee wie het /System/Library/... erin heeft geplaatst (en op die plek) met alle gevolgen voor niet vinden van de juiste versies...
> Waarom staan er doublures in?
> Wordt er standaard niet recursief de paden afgegaan?

Omdat dat duur is (veel system calls), en belangrijker omdat het heel verwarrend kan zijn.

> Wie kan hier wat licht op schijnen ?

/Library/Python/2.7/site-packages komt uit site.py (en idem voor /Users/vm/Library/Python/2.7/lib/python/site-packages), en krijg je altijd bij framework builds van Python op OSX. Verwijzigingen naar /System/Library/Python zou je alleen bij een systeem installatie van Python moeten krijgen (d.w.z. de Python die met OSX meegeleverd wordt). en ik snap niet waarom die hier voorkomen tenzij er ergens op een pth bestand staat dat de extras toevoegd. Dat zou ook de dubellingen verklaren.

Ronald

>
> .Floris
>
> _______________________________________________
> Python-nl mailing list
> [hidden email]
> https://mail.python.org/mailman/listinfo/python-nl

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl