Как выполнить скрипт Python с пакетами из экземпляра Python? - PullRequest
0 голосов
/ 14 июня 2019

У меня есть скрипт Python 2.7, который использует пакеты, расположенные в той же папке, что и скрипт.

C:\test
 |
 +-- test.py
 |
 +-- pkg
    |
    +-- __init__.py
    |
    +-- mod.py

test.py:

import pkg.mod
pkg.mod.foo()
print __file__

mod.py:

def foo():
    print "foo"

При запуске test.py все работает как положено. Все идет нормально.

Мне нужно выполнить test.py в контексте существующего экземпляра python (т.е. я не могу создать новый экземпляр python). Как я могу это сделать?

Я пробовал execfile, но при импорте произошла ошибка, поскольку каталог скриптов не добавлен в sys.path. После добавления пути к sys.path вручную импорт прошел, но сценарию не удалось получить доступ к переменной __file__.

П.С .: Не могу перейти на python 3, мне нужно решение для 2.7.

...