[python] PYTHONPATH
Visgean Skeloru
visgean na gmail.com
Neděle Leden 15 12:43:45 CET 2012
Ah, teď mi došlo jak si to myslel, no jasně, reinstalaci pythonu samozřejmě
nepřežije...
Dne 15. ledna 2012 12:24 Visgean Skeloru <visgean na gmail.com> napsal(a):
> Ehm, to nechápu, ty místo toho jednoho souboru kde by stačilo jednou
> upravit sys.path a pak se o nic nestarat tak vytvoříš nový soubor který má
> identické vlastnosti ale budeš ho muset importovat v každém scriptu, k čemu
> je to dobré? Ten soubor site.py přežije reinstalaci čehokoliv stejně jako
> soubor mojemoduly.py, jestli narážíš na to že při reinstalaci se změní
> cesta tak to se ti ale změní i pro tvůj soubor mojemoduly.py, budeš to tam
> prostě muset nastavit tak jako tak... A k tvé poznámce: ne, nestálo,
> jestli něco takového chceš tak si prostě vytvoř sym link v site-packages
> nebo kdekoliv jinde. A pokud to chceš opravdu nastavit tak můžeš třeba v
> souboru /usr/lib/python2.7/dist-packages/site.py....
>
>
> 2012/1/15 "Ing. Vladislav Ludík" <vlada na ludik.cz>
>
>> **
>> Ano, přečetl jsem si to. Je to však zásah, který nepřežije reinstalaci
>> čehokoliv.
>>
>> Nakonec jsem se rozhodl pro tu nejtriviálnější cestu, jak zpřístupnit
>> moje moduly:
>>
>> 1) do pracovního adresáře jsem vložil modul *mojemoduly.py* s obsahem:
>>
>> *# Pridani vlastni cesty k mym modulum
>> import sys
>> _nova_cesta = "/cesta_k_mym_modulum"
>> if not _nova_cesta in sys.path:
>> sys.path.insert( 1, _nova_cesta)
>> *
>> 2) na začátku KAŽDÉHO mého programu, který využívá mé moduly dám:
>> *import mojemoduly*
>>
>> A je poznámka pro vývojáře pythonu:
>>
>> Nestálo by za úvahu přidat do systému jednoduchou funkci, například
>> nějaký soubor python_path.pth,
>> kde by se to dalo nastavit dodatečně a trvale kdykoliv po instalaci
>> dodatečně ?
>>
>> Jinak díky za rady.
>>
>> V.L.
>>
>> Visgean Skeloru napsal(a):
>>
>> Zkoušel si to co jsem psal?
>>
>> A slightly less convenient way is to edit the site.py file in Python’s
>>> standard library, and modify sys.path. site.py is automatically
>>> imported when the Python interpreter is executed, unless the *-S*switch is supplied to suppress this behaviour. So you could simply edit
>>> site.py and add two lines to it:
>>>
>>
>> Prostě stačí v kořenové složce projektu vytvořit site.py který upraví
>> sys.path, je to oficiální postup.
>> http://docs.python.org/install/index.html#modifying-python-s-search-path
>>
>> Jestli je to jeden projekt tak je to v pohodě a stačí upravit jenom ten
>> jeden soubor...
>>
>> 2012/1/14 "Ing. Vladislav Ludík" <vlada na ludik.cz>
>>
>>> Tak jsem si myslel, že jsem to vyřešil:
>>>
>>> do adresáře /etc/profile.d jsem vložil nový soubor
>>> local_python.sh
>>>
>>> který obsahuje:
>>>
>>> # doplnim cestu k mym modulum
>>> PYTHONPATH="/python/mojemoduly/":"${PYTHONPATH}"
>>> export PYTHONPATH
>>>
>>> Po reboot kontrola sys.path:
>>>
>>> ['', '/python/mojemoduly', '/etc/profile.d', '/usr/lib/python2.7',
>>> '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk',
>>> '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload',
>>> '/usr/local/lib/python2.7/dist-packages',
>>> '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL',
>>> '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7']
>>>
>>> zapíše správně moji cestu (sice i cestu '/etc/profile.d'), ale problém
>>> mám jinde.
>>>
>>>
>>> Spuštěním programu v crontab ten pak havaruje na tom, že nemůže
>>> naimportovat moje moduly.
>>>
>>> Pokusy s doplněním cesty přímo v crontab nebo nepřímo v cron.d nevedly k
>>> ničemu.
>>>
>>> Co s tím opravdu nevím.
>>>
>>> Díky za nové podněty.
>>>
>>> V.L.
>>>
>>> _______________________________________________
>>> Python mailing list
>>> Python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>
>>
>>
>> --
>> PGP pub key:
>>
>> http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
>> http://www.abclinuxu.cz/lide/visgean/gpg
>> A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
>> Jabber: visgean na jabber.org | visgean na jabber.cz
>> Github: http://github.com/Visgean
>>
>> ------------------------------
>>
>> _______________________________________________
>> Python mailing listPython na py.czhttp://www.py.cz/mailman/listinfo/python
>>
>>
>>
>> __________ Informace od NOD32 6783 (20120110) __________
>>
>> Tato zprava byla proverena antivirovym systemem NOD32.http://www.nod32.cz
>>
>>
>>
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>
>
>
> --
> PGP pub key:
>
> http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
> http://www.abclinuxu.cz/lide/visgean/gpg
> A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
> Jabber: visgean na jabber.org | visgean na jabber.cz
> Github: http://github.com/Visgean
>
>
--
PGP pub key:
http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
http://www.abclinuxu.cz/lide/visgean/gpg
A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
Jabber: visgean na jabber.org | visgean na jabber.cz
Github: http://github.com/Visgean
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20120115/298e3680/attachment.html>
Další informace o konferenci Python