wrobell wrote:
On Sat, May 01, 2004 at 10:37:22PM +0200, Jakub Piotr C?apa wrote:

wrobell wrote:

On Sat, May 01, 2004 at 09:06:57PM +0200, Jakub Piotr C?apa wrote:

Stwierdzasz ze problemy z wersjami openLDAPa powoduja balagan na FTP, wiec wywalamy openLDAPa z distro?

co ma wiatrak do piernika?

Chcesz zostawic wielu userow, nie wiedzacych dlaczego nie dziala, na lodzie.

gadasz bzdury. user dostanie komunikat, ze nie moze zostac znaleziony odpowiedni modul.

Ale nie bedzie wiedzial dlaczego, bo tylko u nas tak to bedzie dzialac.


nie dziala

Ma jakies powazne błędy poza brakiem #!/usr/bin/python na początku? Ja staram się nie być czepialskim...

uruchomiles ten skrypt? nie chodzi mi ani o brak "$!..." ani o brak "import sys", po prostu nie dziala tak jakbys chcial. jesli nazwiesz go timeit.py, to dostaniesz blad o braku funkcji main, pomimo tego, ze modul timeit ma ta funkcje. zgadnij dlaczego?

Szedlbym o zaklad ze dzialalo... Musialem byc rozkojarzony.


#v+
#!/usr/bin/python
import sys

arch = sys.path[0]
del sys.path[0]
import timeit
sys.path.insert (0, arch)
del arch

if __name__ == "__main__":
  sys.exit(timeit.main())
#v-

Nijak nie umiem niestety zrobić tak, żeby to był pełnoprawny moduł i import timeit w /usr/bin dawał to samo co wszędzie indziej - jeśli importuje moduł o nazwie, ktora juz byla importowana, to dostaje modul z cache (czyli w tym wypadku sam siebie). Taki bug lub feature, zalezy jak na to patrzec. Musimy chyba traktowac moduly jako cos co musi miec systemowo unikalne nazwy i tyle (tzn. w katalogach systemowych nie moga wystepowac rozne moduly lub programy pythona o tych samych nazwach). Inaczej zawsze cos sie bedzie walic.

er? komunikat niewiele mówiący? dostanie informacje o tym, że nie może
znaleźć danego modułu. czego chcieć więcej?

Dlaczego nie moze? U mojego kumpla dziala! Wszystkim naokolo dziala! W Windowsach dziala! Co jest?

bzdura. uzytkownik dostanie komunikat o braku modulu. man python, ustawi sobie PYTHONPATH i po krzyku.

a obecnie...  instalujesz ipython-a i nie dziala. dlaczego?
stworzylem skrypty o nazwie getpass.py, pdb.py lub mam
katalogi email, bsddb, encodings lub hotshot i skrypt nie dziala.
dlaczego? ach... proste rozwiaznie - trzeba kombinowac z sys.path
(jestem ciekaw gdzie mozna sobie o tym poczytac) :-\

Tez musialem to sam naprawic. Katalogi tak nie dzialaja - musza miec __init__.py, zeby byly potraktowane jako moduly (choc cos mi tworzylo puste __init__.py, ale to byl chyba "feature" WebWare, nie samego Pythona). Po prostu usuniecie "" z sys.path dla wszystkich skryptow w systemie to nie jest dobre rozwiazanie tego problemu.


--
z wyrazami szacunku,
Jakub Piotr Cłapa

_______________________________________________________
złota zasada - kto się nie zna, niech się nie wypowiada



Odpowiedź listem elektroniczym