SORU
12 EKİM 2009, PAZARTESİ


Python sirküler ithalat bağımlılığının

Hadi aşağıdaki dizin yapısı var ki:

a\
    __init__.py
    b\
        __init__.py
        c\
            __init__.py
            c_file.py
        d\
            __init__.py
            d_file.py

a paket __init__.py, c Paket alınır. Ama c_file.py a.b.d ithalat.

Program b c_file.py a.b.d almaya çalıştığında yok diyerek başarısız olur. (Ve gerçekten yok, alma ortasındaydık çünkü.)

Bu sorun nasıl çözülebilir?

CEVAP
12 EKİM 2009, PAZARTESİ


Alma, a/__init__.py örneğin erteleme olabilir:

def my_function():
    from a.b.c import Blah
    return Blah()

yani, gerçekten gerekli olana kadar alma erteleme. Ancak, aynı zamanda bir işaret gibi döngüsel bağımlılık tasarım bir soruna işaret ediyor olabilir olarak kullanır/paket benim tanımlarına yakından bakmak isterim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Felice Musique

    Felice Musiq

    22 NİSAN 2014
  • Tomas N

    Tomas N

    14 Kasım 2010
  • Ty Moss

    Ty Moss

    20 Kasım 2007