У меня есть кодовая база для python3, работающая на 2 машинах.Когда я установил его на 3-й компьютер, я получил ModuleNotFoundError.
Есть две очень странные вещи, которые не имеют смысла для меня
- Мой код может импортировать другой пользовательскиймодуль из того же каталога, что и тот, который не работает
- Python позволяет мне импортировать сомнительный модуль без ошибки из интерпретатора без ошибки
Из верхнего уровня структуры каталогов моего приложения,который выглядит следующим образом.
-Top Level ---- библиотеки \ gen_class.py ---- библиотеки \ gui_library3.py
Я пытаюсь
python3 source\fabrication_tracker3.py
file "source \ fabrication_tracker3.py" строки 8 и 9
8 from libraries.gen_class import Class <---(Works)
9 from libraries.gui_library3 import GuiTemplate <--- !(ModuleNotFoundError)
Быстрый "каталог" в каталоге библиотек
C:\Users\jamin\Repositories\FabricationTracking>dir libraries
Volume in drive C has no label.
Volume Serial Number is 6E2E-81BB
Directory of C:\Users\jamin\Repositories\FabricationTracking\libraries
04/15/2019 06:06 PM <DIR> .
04/15/2019 06:06 PM <DIR> ..
03/20/2019 10:31 AM 26,235 access_google_drive.py
03/20/2019 10:32 AM 22,000 access_google_drive.pyc
04/15/2019 06:06 PM 26,737 access_google_drive3.py
04/03/2018 10:58 AM 233 gen_class.py <--- WORKING HERE
04/04/2018 03:26 PM 871 gen_class.pyc
03/21/2018 04:34 PM 1,031 graphics_view.py
03/21/2018 04:35 PM 1,293 graphics_view.pyc
04/03/2019 03:40 PM 1,046 graphics_view3.py
09/27/2018 10:31 AM 7,986 gui_builder.py
04/15/2019 06:06 PM 307,286 gui_library.py
04/03/2019 03:51 PM 227,727 gui_library.pyc
04/18/2019 03:26 PM 313,488 gui_library3.py <--- FAILING HERE
09/28/2018 12:14 PM 18,892 scribble_area.py
Так что файл определенно существует ...
Трассировка стека
C:\Users\BoloTester\Repositories\FabricationTracking>python3 source\fabrication_tracker3.py
Traceback (most recent call last):
File "source\fabrication_tracker3.py", line 9, in <module>
from libraries.gui_library3 import GuiTemplate
ModuleNotFoundError: No module named 'libraries.gui_library3'
Однако, если я просто запустите
C:\Users\BoloTester\Repositories\FabricationTracking>python3
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from libraries.gui_library3 import GuiTemplate
>>>
Ошибка ModuleNotFoundError.
Я приложил все усилия, чтобы убедиться, что новая машинабыл настроен точно так же и не могу понять, что я сделалпо-разному.
- Я проверил, что PYTHONPATH такой же, как и на двух рабочих машинах
PYTHONPATH=C:\Users\BoloTester\Repositories\FabricationTracking;C:\Users\BoloTester\Repositories\BolometerCharacterization;C:\Users\BoloTester\Repositories
- Я попытался изменить именамоего пользовательского модуля, чтобы пропустить число 3
- Я дважды и трижды проверил на опечатки / орфографические ошибки
- Я попытался установить python2 вдоль стороны python3 (для имитации первых двух машин)
- Я попросил помощи у моих опытных коллег по Python
Кажется, ничего не работает!См. Код ниже:
Напомним:
- Это работает на 2 из 3 машин
- Импорт из одного места / папки прямо из интерпретатора python3 работает
- Это происходит сбой, когда я импортирую с помощью простого оператора from ... import ... на python myscript.py, например call