Thread View: pl.comp.lang.python
3 messages
3 total messages
Started by zbrodel
Sat, 28 Mar 2009 11:36
Problem z importami
Author: zbrodel
Date: Sat, 28 Mar 2009 11:36
Date: Sat, 28 Mar 2009 11:36
30 lines
1159 bytes
1159 bytes
Witam bardzo :) Jaka może być przyczyna takiego oto zachowania: Jest moduł, dajmy na to aaa W nim powinien być bbb i teraz: import aaa aaa.bbb krzyczy że *** AttributeError: 'module' object has no attribute 'bbb' no i faktycznie dir(aaa) nie pokazuje żeby w aaa było bbb Ale jak zrobie: from aaa import bbb to jest OK Dodam, że bbb to też pakiet. Struktura katalogów wygląda OK, pliki __init__.py są tam gdzie trzeba. Czego szukać? TIA J.
Re: Problem z importami
Author: Piotr Husiatyński
Date: Sat, 28 Mar 2009 13:25
Date: Sat, 28 Mar 2009 13:25
30 lines
1728 bytes
1728 bytes
On Mar 28, 12:36 pm, zbro...@tlen.pl wrote: > Witam bardzo :) > > Jaka może być przyczyna takiego oto zachowania: > > Jest moduł, dajmy na to aaa > W nim powinien być bbb > > i teraz: > import aaa > aaa.bbb > krzyczy że *** AttributeError: 'module' object has no attribute 'bbb' > > no i faktycznie > dir(aaa) > > nie pokazuje żeby w aaa było bbb > > Ale jak zrobie: > from aaa import bbb > > to jest OK > > Dodam, że bbb to też pakiet. > > Struktura katalogów wygląda OK, pliki __init__.py są tam gdzie trzeba. > > Czego szukać? import aaa.bbb
Re: Problem z importami
Author: Rob Wolfe
Date: Sat, 28 Mar 2009 16:28
Date: Sat, 28 Mar 2009 16:28
43 lines
1880 bytes
1880 bytes
zbrodel@tlen.pl writes: > Witam bardzo :) > > Jaka może być przyczyna takiego oto zachowania: > > Jest moduł, dajmy na to aaa > W nim powinien być bbb > > i teraz: > import aaa > aaa.bbb > krzyczy że *** AttributeError: 'module' object has no attribute 'bbb' > > no i faktycznie > dir(aaa) > > nie pokazuje żeby w aaa było bbb > > Ale jak zrobie: > from aaa import bbb > > to jest OK > > Dodam, że bbb to też pakiet. > > Struktura katalogów wygląda OK, pliki __init__.py są tam gdzie trzeba. > > Czego szukać? Mam wrażenie, iż oczekujesz, że import pakietu powoduje automatyczne załadowanie wszystkich modułów w nim zawartych. Nic podobnego. Import pakietu powoduje tylko uruchomienie kodu w `__init__.py`. Możesz ten plik mieć pusty (wtedy import pakietu nie importuje żadnych modułów) lub możesz dodać importy modułów jakie chcesz mieć zaimportowane po zaimportowaniu pakietu. Możesz też importować moduł zawarty w pakiecie bezpośrednio, tak: import aaa.bbb albo tak: from aaa import bbb RW
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads