Aşağıdaki proje yapısını düşününTest dizini __init__.py içeriyorsa, içe aktarma neden Python burnu ile çalışıyor? <code>test_a.py</code> modülünü <code>a</code> ithal ile</p> <pre><code>a.py test/ test_a.py </code></pre> <p>:
ithalat hatatest
dizin sonuçlarında
nosetests
çalışan Beklendiği gibi
import a
: Ancak
ERROR: Failure: ImportError (No module named a)
Boş birekleyerek fark ettim test
dizininedosyası, nosetests
(test_a.py
Python ile çalıştırdığınızda değil) ile içe aktarma işi yapar. Nedenini açıklar mısınız?
__init__.py
eklenmesi, test
ürününü paket haline getirdiğini anlıyorum. Ancak, içe aktarma, paketteki aramayı içeren dizini içerdiği anlamına mı geliyor?
http://stackoverflow.com/questions/448271/what-is-init-py-for – Mir
@Mir ben ne için '__init __. py' anlama . Neden diğer modüllerin ithalatını etkilediğini anlamıyorum. – vitaut
Çünkü orada olmasaydı, herhangi bir dizini kazayla alabilirdiniz, bu da işe yaramazın yanında olurdu. Onun bir programatik kontrolü. – Kris