Я искал и не нашел решения этой конкретной проблемы Python3. Возможно, это ключевые слова, которые я использую, или это может быть просто особый вариант использования. Если моя проблема - последняя, вот мой вопрос:
Я разрабатываю скрипт python (3), в котором должен использоваться модуль python, который был скомпилирован локально в домашнем каталоге пользователя. У меня нет ничего более фантастического, чем скрипт configure для настройки этого пути для пользователя как автоматизированного процесса. Я хочу передать путь к модулю python сценарию во время выполнения в качестве аргумента командной строки, а затем динамически загрузить этот модуль. Например, я позвоню:
$ myscript.py --modpath /home/user/path/to/ModuleSource
и затем в моем коде вызовите что-то вроде следующего при разборе аргументов командной строки:
import sys
sys.path.append(localModulePath)
import GlobalModuleName
Проблема в том, что в статическом коде для моего сценария, который использует методы модуля, фактический модуль не может быть разрешен до времени выполнения, когда определения для модуля передаются в мой сценарий.
То есть, если у меня есть код Python, подобный следующему
GlobalModuleName.moduleFunc()
Я получаю ошибки времени выполнения: " NameError: имя 'GlobalModuleName' не определено ".
Как мне заставить эту конфигурацию работать без генерации ошибки? Я уверен, что код, который будет использовать динамические определения модуля, является правильным. Заранее спасибо за указатели.