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

  • kndx

    kndx

    11 Mart 2006
  • Machinima

    Machinima

    17 Ocak 2006
  • TurkishRoyal

    TurkishRoyal

    16 Ocak 2007