[python] PYTHONPATH
Jakub Vysoky
jakub na borka.cz
Středa Leden 18 09:41:42 CET 2012
asi se shodneme, ze tazatel ma nizke znalosti jak linuxu, tak pythonu.
budiz, tohle neni diskuze o linuxu, tak nebudu resit, ze se nikdo
nepozastavuje nad tim, ze se neco pousti pod rootem a vselijak hackuje
environment vsem, kdyz to potrebuje jenom jeden uzivatel. a nikdo
vlaste poradne nevysvetli, jak funguje cron, pripadne ze ma
environment omezeny.
vysledne reseni (a to *pozor* neni pouziti `/etc/profile.d`) se mi zda
z hlediska nejen pythonu znacne nestastne - importovat si na zacatku
kazdeho sveho skriptu nejaky magicky modul.
proto kdyby tazatel nebyl odrazovan od pouziti napr virtualenvu a
zkusil ho pouzit, mohl by ziskat alespon nejaky dobry navyk. protoze
pouzivani virtualenvu tak trosku nuti k vytvoreni setup.py nebo treba
*.pth souboru, ale alespon ne nekde v systemu.
pokud byste chteli neco opravdu jednoducheho, proc neporadit, aby si
to v tom cronu obalil jednoduchym shell skriptem a nastavil pred
spustenim pythonu environment tak jak potrebuje.
2012/1/17 Hynek Fabian <hynek.fabian na firma.seznam.cz>:
>> Muzete delat blbosti jako .bashrc a .profile, muzete treba najit funkcni reseni pres .pth. Faktem je, ze je to vsechno drbani se pravou rukou za levym uchem.
>>
>> Virtualenv je de-facto standard, ktery resi vsechno tohle davno. Takze bud muzete 1] pouzit standardni reseni, ktere to davno resi, je otestovane a bude se vam jeho znalost hodit i na dalsi veci,
>> 2] nebo si vymyslet vlastni podivny hacky.
>> Jen ty hacky, prosim, neradte zacatecnikum jako _dobre_ reseni.
>
> To je legrační, já bych řekl že unixové prostředí (enviroment) je
> standartní věc už nějakých čtyřicet let - ve srovnání s tím je naopak
> virtualenv drbání se někde. (.pth jsem zmínil jen pro úplnost, používá
> se to spíše při balíčkování) Takže můžete buď
> 1) použít standartní řešení (PYTHONPATH), které obdobně používá shell
> (PATH), java (CLASSPATH), linker (LD_LIBRARY_PATH), ruby (RUBYLIB) a asi
> milion dalších programů a programátorů nebo
> 2) vymýšlet podivné hacky které ve skutečnosti nic neřeší (resp. řeší
> úplně jiný problém).
>
> Jak jsem už psal, nechci hanět samotný virtualenv protože si umím
> představit řadu situací (složitějších než to co řeší tazatel) kdy bude
> užitečný, jen ho prosím neraďte začátečníkům jako _žádné_ řešení.
>
> Vladislavův problém nebyl s PYTHONPATH, ale kde a jak ho správně
> nastavit, což je otázka jeho distribuce a základů shellu. Zmáknul to
> AFAIK výborně (/etc/profile.d je v distrech které jím oplývají určen
> přesně na tohle) a s cronem si určitě taky poradí :-)
> (BTW není problém v tom že cron nerovíjí obsah proměnné jako shell? tj.
> konstrukce FOO="neco:$FOO" nebude v crontabu fungovat. A ani není
> potřeba, právě proto že je prostředí úplně holé.)
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
--
Jakub Vysoky
mob: +420 605 852 377
jab: jakub.vysoky na gmail.com
twit: https://twitter.com/kvbik
Další informace o konferenci Python