Есть ли возможность создать перезаписываемую папку скриптов для python? - PullRequest
0 голосов
/ 03 августа 2011

В приложении, встраивающем python, есть папка сценариев, содержащая код переноса расширения python и каждый кодовый файл, который основан на нем / другом коде приложения, грубо организованных в пакеты.

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

Это можно сделать, просто добавив путь к папке пользовательских сценариевв PYTHONPATH, но в дополнение к описанным выше потребностям я хотел бы иметь возможность переопределить некоторые файлы в исходной кодовой базе (выборочно), просто скопировав эти файлы и настроив их.

Моя проблема в том, чтоесли эти файлы импортируются в другие модули, которые я не хочу изменять (и, следовательно, не хочу копировать), эти модули не могут быть найдены, потому что я перезаписал пакет в целом.

Я "просто" хотел бы иметь подход, похожий на обертывание модуля с помощью

from wrapped_mod import *
def overriden_func(somestuff):
    print('overridden function, everything else comes out of wrapped_mod')

Кто-нибудь намекает, как создать такое "наложение" поверх существующей иерархии пакетов?

Заранее спасибо за идеи!

...