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

  • boburnham

    boburnham

    11 Temmuz 2006
  • lane182videos

    lane182video

    6 EKİM 2011
  • The Exploiteers

    The Exploite

    4 Ocak 2011