On Sat, May 01, 2004 at 07:43:42PM +0200, Jakub Piotr C?apa wrote:
wrobell wrote:
A jak odrozniasz program gcc od skryptu gcc - oba sa w sciezce systemowej. Nie rozrozniasz - po prostu nie robisz czegos takiego.
robie i rozrozniam i to w bardzo prosty sposob: $ ~/bin/gcc $ /usr/bin/gcc
Prosty? Przemysl to jeszcze :D
Python nie wymaga rozroznienia na skrypty i biblioteki, więc po co je robić?
bo _Ty_ chcesz pewnego bajeru, ktory przy braku tego rozroznienia powoduje okreslone problemy
Ale taki bajer ma caly swiat. Stwierdzasz ze problemy z wersjami openLDAPa powoduja balagan na FTP, wiec wywalamy openLDAPa z distro?
Rozwiązania widzę dwa:
- programy pythonowe w bin czynimy symlinkami do bibliotek (tak jak sugerował Jajcuś)
jak? 1. prosze o przyklad dla timeit.py 2. nie jest to zgodne z FHS zdaje sie?
Problem mamy z niedolaczaniem zrodel skryptow w pythonie (co jest takze niekorzystne od strony debugu), ale i tak sprobujmy (nie bedzie symlinku, ale winno dzialac bezproblemowo):
#v+ from timeit import *
if __name__ == "__main__":
sys.exit(main())
#v-Nie jest to do konca clean way, ale dziala. :)
- w globalnych ustawieniach (cos takiego jak site chyba sie nada, nie?) wywalamy "" z sys.path, jeśli skrypt rezyduje w systemowym bindir
juz predzej jak rezyduje w PATH (jak sugeruje zdaje sie ankry)
Faktycznie - lepiej.
Nie mozemy po prostu wywalić "" z sys.path, bo cały świat ma inaczej.
mozemy, gdy prowadzi to do problemow. a prowadzi.
Nie, nie możemy. Zastosujmy jakieś obejście na razie, a nasz rezwiazanie zaproponujmy developerom Pythona i niech sie wytlumacza.
Rule of Least Surprise. Jesli juz to musimy zrobić tak, żeby wywalało się z hukiem (czyli na pewno nie zamiana kolejności sys.path) i by było wiadomo od razu o co chodzi. Rule of Repair.
jak nie ma modulu w sys.path (bez dodawania sciezki do skryptu) oraz w PYTHONPATH to dostajesz _zawsze_ komunikat o bledzie. przy obecnym zachowaniu pythona mozna spodziewac sie wszystkiego.
Komunikat niewiele mówiący komuś, kto nie zna naszej "poprawki". Ludzie są przyzwyczajeni do występowania "" w sys.path, spodziewają się tego tak samo jak tego, że sin(x) zwraca wartosc sinusa.
-- z wyrazami szacunku, Jakub Piotr Cłapa
_______________________________________________________ złota zasada - kto się nie zna, niech się nie wypowiada
