wrobell wrote:
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



Odpowiedź listem elektroniczym