Python2 .7 «pickle» не может импортировать модуль, отображается «ImportError: Нет модуля с именем xxxxx» - PullRequest
0 голосов
/ 14 апреля 2020

В настоящее время я изучаю хромосом один проект "touch_firmware_test", работающий под Python 2.7

(git клон https://chromium.googlesource.com/chromiumos/platform/touch_firmware_test)

И есть один сценарий: "/touch_firmare_test/touchbot/device_spec.py"

У меня есть образец файла для загрузки и распечатка, что я хочу. И запустите скрипт как:

$python device_spec.py sample.p

Однако я не могу получить ожидаемый результат при запуске этого скрипта.

После того, как я изменю что-то в «device_spe c .py», попробуйте понять, с какой проблемой я сталкиваюсь, всплывающее сообщение об ошибке:

File "/usr/lib/python2.7/pickle.py", line 1130, in find_class
    __import__(module)
ImportError: No module named device_spec

Далее я пишу простой код для проверки правильности процесса импорта модуля:

import os
import sys

def dump(module):
    print (module, "=>",)
    if module in sys.builtin_module_names:  #check Built-in module exist or not
        print ("<It's BUILTIN module>")
    else:
        module = __import__(module)         #print 3rd party module path
        print (module.__file__)

checkMU = dump(sys.argv[1])

И выполните это скрипт типа:

$python CheckModule.py device_spec

Этот скрипт работает должным образом, как я ожидаю (может распечатать правильный путь к модулю), если я запускаю в "/touch_firmare_test/touchbot/".

Я также пытаюсь ответить на вопрос Python травление после смены каталога модуля

Но все равно не работает ....

Понятия не имею, как это сделать ...

Благодарим за каждый ответ.

...