Такое же утверждение импорта работает в интерпретаторе и 2/3 моих установок, но не при вызове из моего собственного сценария на 3-м компьютере, почему это так? - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть кодовая база для python3, работающая на 2 машинах.Когда я установил его на 3-й компьютер, я получил ModuleNotFoundError.

Есть две очень странные вещи, которые не имеют смысла для меня

  1. Мой код может импортировать другой пользовательскиймодуль из того же каталога, что и тот, который не работает
  2. 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.

Я приложил все усилия, чтобы убедиться, что новая машинабыл настроен точно так же и не могу понять, что я сделалпо-разному.

  1. Я проверил, что PYTHONPATH такой же, как и на двух рабочих машинах
PYTHONPATH=C:\Users\BoloTester\Repositories\FabricationTracking;C:\Users\BoloTester\Repositories\BolometerCharacterization;C:\Users\BoloTester\Repositories
  1. Я попытался изменить именамоего пользовательского модуля, чтобы пропустить число 3
  2. Я дважды и трижды проверил на опечатки / орфографические ошибки
  3. Я попытался установить python2 вдоль стороны python3 (для имитации первых двух машин)
  4. Я попросил помощи у моих опытных коллег по Python

Кажется, ничего не работает!См. Код ниже:

Напомним:

  1. Это работает на 2 из 3 машин
  2. Импорт из одного места / папки прямо из интерпретатора python3 работает
  3. Это происходит сбой, когда я импортирую с помощью простого оператора from ... import ... на python myscript.py, например call
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...