Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Could not import

[es] :: Python & Zope :: Could not import

[ Pregleda: 649 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mr.marvin

Član broj: 137276
Poruke: 82
213.149.105.*



Profil

icon Could not import07.11.2007. u 12:34

Imam paket, recimo "pkg", i u njemu module mod1 i mod2. Mod1 ima clasu koja se koristi u mod2 i obratno. Python prijavljuje gresku ako pozivam u mod1:

import mod2

...zato sto u mod2 imam liniju koja glasi "from mod1 import ...". Izgleda da sam napravio petlju u lodovanju modula.

Zanima me kako ovo da rijesim? Kako da sve sto mi treba stavim u globalni namespace, tako da je spremno za upotrebu? I kako mogu da izbjegnem da u svakom modulu u pkg pisem "from pkg.module1 import to_i_to"?
07.11.2007. u 12:34 

StefanJer91
Stefan Jeremic
Beograd

Član broj: 121923
Poruke: 125
*.kalik.info.



Profil

icon Re: Could not import07.11.2007. u 14:16
Nisam bas najbolje razumeo tvoj problem, ali ne vidim sto toliko komlikujes. Stavi stvari za importovanje sve u jedan module pa importuj iz ova 2. Sto se drugog problema tice, ako sam razumeo trebi treba from pkg.module1 import * ( * znaci da importujes sve stvari iz tog modula)
07.11.2007. u 14:16 

mr.marvin

Član broj: 137276
Poruke: 82
195.66.191.*



Profil

icon Re: Could not import07.11.2007. u 18:53
Kako program raste, tako se stvari kompikuju, a ja pokusavam da ih drzim pod kontrolom. Znam za "import *", ali medjusobno importovanje izmedju dva modula dovodi do greske (il sam je krivo shvatio).

Ne odgovara mi da sve stavim u jednan modul, pa odatle da importujem.

Kako da neke klase, vrijednosti itd. postavim kao "public", odnosno da stalno budu spremne za upotrebu? Da li je dovoljno da u __init__.py postavim linije sa kodom "from module1 import class1 as class1" ili ima neka druga praksa?
07.11.2007. u 18:53 

StefanJer91
Stefan Jeremic
Beograd

Član broj: 121923
Poruke: 125
212.62.51.*



Profil

icon Re: Could not import07.11.2007. u 20:46
Ja na zalost ne znam, nikada nisam to radio jer nisam imao potrebu sa tim. Moj savet ti je da uzmes neciji tudji projekat i pogledas kako je to uradjeno. Btw, jesi li gledao python dokumentaciju? Mozda ovde ima ono sto ti treba http://www.python.org/doc/current/dist/dist.html
07.11.2007. u 20:46 

alex
Aleksandar Radulovic
Team/Project Manager, Software Development, Síminn hf.
Reykjavik, Iceland

Administrator
Član broj: 71
Poruke: 2105
*.siminn.is.

Jabber: maurice.chavez@gmail.com
ICQ: -1
Sajt: www.a13x.info


Profil

icon Re: Could not import08.11.2007. u 13:16
Citat:
mr.marvin: Kako program raste, tako se stvari kompikuju, a ja pokusavam da ih drzim pod kontrolom. Znam za "import *", ali medjusobno importovanje izmedju dva modula dovodi do greske (il sam je krivo shvatio).


Ukoliko klasama u jednom modulu pristupas u drugom modulu i obratno, odnosno ukoliko imas upravo takav problem (potrebu za medjusobnim importovanjem modula) verovatno je potrebno da izvrsis reorganizaciju svojih modula, jer se ocigledno (nepotrebno) preklapaju.

Citat:

Kako da neke klase, vrijednosti itd. postavim kao "public", odnosno da stalno budu spremne za upotrebu? Da li je dovoljno da u __init__.py postavim linije sa kodom "from module1 import class1 as class1" ili ima neka druga praksa?


Koncept public i private metoda klasa i varijabli je u Python jeziku resen kroz imena samih metoda i varijabli. Ukoliko ime metoda ili varijable u okviru klase pocinje sa "__" (double underscore) Python im ne dozvoljava pristup van same klase.

Vise o tome ovde
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
08.11.2007. u 13:16 

mr.marvin

Član broj: 137276
Poruke: 82
195.66.191.*



Profil

icon Re: Could not import16.11.2007. u 14:01
Najpametinije je bilo sve module malo reorganizovati, kao sto si preporucio, i sad je sve ok. Medjutim, nisam mislio na public/private osobine unitar klase, vec na same module unutar projekta, ali i to se polako sredjuje.
16.11.2007. u 14:01 

[es] :: Python & Zope :: Could not import

[ Pregleda: 649 | Odgovora: 5 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.