SORU
12 Temmuz 2011, Salı


Testler en güncel paket yukarıda modülleri ithalatı için uygulama ne burun kullanmak için Python ithalat

Bu sık sık farklı şekillerde sorulur ve genellikle düzgün "cevaplar. yapmıyorsun" lol temin ettiği bir soru. Eminim bu senaryo insanların (ben de dahil) bir uygulaması olarak kullanmaya çalışıyorlar ortak bir duygusu var çünkü, çözüm çok açık değilse bunu daha önce yaptın değil ().

Hangi cevabını kabul etmez "şişeden sinek sağlar".

Verildi

project/
    __init__.py
    /code
        __init__.py
        sut.py
    /tests
        __init__.py
        test_sut.py

Nerede tests_sut.py başlar:

import code.sut

Kök dizin olarak çalışan nosetests yol açar:

ImportError: No module named code.sut

Caddeleri Seyahat:

a) akraba kullanarak yapın

from ..code import sut

b) proje kök BİLİNÇLİ ekleyin

c) kullanın

sys.path.append

her test modülü başında alır önce .. yol eklemek için.

d) sadece yapmayı unutmayın

setup.py 

proje testleri çalıştırmadan önce site-paketleri içine modülleri yüklemek için.

Gereksinim projesi erişimi olan testleri test paket kök dizini altında bulunan. Yukarıdaki her hissetmiyorum "doğal" benim için sorun oldu ya da çok fazla ağır iş gibi görünüyor!

Java bu çalışır, ama yapı kuvvetiyle temelde aracı / IDE sınıf tüm sınıflar yerleştirme. Belki de sorun "" Python? sihirli bekliyorum. Şişeye not var webframework testleri, seçenek d) tercih gibi görünüyor.

Her durumda, tercih edilen bir çözüm önerisinde aşağıda tablolar "unnaturalness" on my own. hissini ortadan kaldıracaktır

CEVAP
18 Mayıs 2012, Cuma


Aynı sorun bende de vardı ve answer ile ilgili bir soru benim için iş buldu.

Sadece projeye __init__.py Kaldır kök.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chilla Frilla™

    Chilla Frill

    7 Aralık 2006
  • IGN

    IGN

    19 EYLÜL 2006
  • WestsideMrArO

    WestsideMrAr

    6 EKİM 2010