Przeszukałem tę stronę od początku do końca, ale nie znalazłem ani jednego sposobu, aby faktycznie osiągnąć to, co chcę w Python3x. Jest to prosta aplikacja zabawkowa, więc pomyślałem, że mógłbym napisać kilka prostych przypadków testowych w dowodach i nazwać to dniem. Generuje raporty i dlatego chciałbym się upewnić, że mój kod nie zrobi niczego chwiejnego po wprowadzeniu zmian.Importowanie katalogu nadrzędnego dla krótkich testów
Moja obecna struktura katalogów jest: (tylko odpowiednie części włączone)
project
-model
__init__.py
my_file.py
-test
my_file_test.py
Mam piekło czasu coraz my_file_test.py importować my_file.py.
Tak jak powiedziałem. Przeszukałem tę witrynę od początku do końca i żadne rozwiązanie nie zadziałało. Moja wersja jest Python 3.2.3 działa na Fedorze 17.
Wcześniej próbowali prób: https://stackoverflow.com/questions/5078590/dynamic-imports-relative-imports-in-python-3 Importing modules from parent folder Can anyone explain python's relative imports? How to accomplish relative import in python
W praktycznie każdej próbie pojawia się błąd na efekt:
ImportError: Brak modułu o nazwie * LUB ValueError: Próba względnego importu w pakietach
Co się tutaj dzieje. Próbowałem każdej zaakceptowanej odpowiedzi na SO, a także na wszystkich interwebs. Nie robiąc niczego, co by tu pasowało, ale jako programista .NET/Java/Ruby, okazuje się to absolutną definicją intuicyjności.
EDIT: Jeśli to ma znaczenie Próbowałem ładuje klasę, że próbuję zaimportować w REPL i uzyskać następujące:
>>> import datafileclass
>>> datafileclass.methods
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
>>> x = datafileclass('sample_data/sample_input.csv')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable
Jeśli to ma znaczenie ... Wiem funkcjonalność w pracach klasowych ale nie mogę go zaimportować, co w tej chwili powoduje niemożność przetestowania. W przyszłości z pewnością spowoduje problemy z integracją. (nazwy zostały zmienione, aby chronić niewinnych). uzyskanie w ciągu kilku tygodni pożądanej funkcjonalności dla tej iteracji biblioteki ... każda pomoc może być przydatna. Zrobiłby to w Ruby, ale klient chce Python jako doświadczenie uczenia się,
Dzięki. Spróbuję tego wieczoru.To było podobne do mojej pierwotnej struktury, ale natknąłem się na pewne zasoby, które stwierdzały, że powinienem je tak ukształtować. Dam ci znać, jak to działa, gdy jestem bez pracy. – Rig
Powoduje to błąd "ImportError: Brak modułu o nazwie modelu" w wierszu 1 (instrukcja importu). Co jest z tym obrazem. – Rig
Czy są jakieś wyraźne adnotacje, których potrzebuję w mojej klasie, aby można je było importować? Nie bardzo zorientowany w Pythonie i od jakiegoś czasu, odkąd go nawet użyłem (który był wtedy tylko nauczycielem). – Rig