[python] PYTHONPATH

David Rohleder davro na ics.muni.cz
Pátek Leden 13 10:10:13 CET 2012


"Ing. Vladislav Ludík" píše v Pá 13. 01. 2012 v 09:56 +0100:
> Dne 20:59, Matej Cepl napsal(a):
> > Dne 11.1.2012 07:36, "Ing. Vladislav Ludík" napsal(a):
> >> export PYTHONPATH=PYTHONPATH:/cesta_k_mym_modulum"
> >
> > Pro normálního uživatele přidejte tuto řádku do  ~/.bashrc (tedy 
> > .bashrc soubor v domácím adresáři). Po přelogování to bude nastavené 
> > natrvalo.
> >
> > Matěj
> 
> Programy spouštěné po přihlášení jako root "mojemoduly" po exportu v 
> profilu root fungují dobře.
> Co je alepro mě nepochopitelné, proč programy spouštěné z crontabu s 
> uživatelem root havarují, že nenašly cestu k "mojemoduly".
> 
> Viz řádek z crontabu: * * * * *    root    program.py
> kde program.py má import modulu z "mojemoduly"
> 
> Vaší radě na přidání řádku do ~/.bashrc nerozumím. Co je to normální 
> uživatel, když jsem přihlášený jako root a jako root jsou programy i 
> spouštěné.
> Můžete mi to prosím vysvětlit na příkladu ?

.profile se čte pouze v případě, že se bash spustí jako login shell, což
v případě crontabu zřejmě neplatí. Vizte sekci INVOCATION v man bash. 

V případě crontabu se dají proměnné prostředí nastavit přímo v tom
crontabu. Obvykle se to dělá pouze pro PATH nebo MAILTO, ale myslím, že
nic nebrání tomu, aby se tam nastavila i proměnná PYTHONPATH. Opět man 5
crontab (nezapomeňte tu 5)

David




Další informace o konferenci Python