Найти - Пользователи
Полная версия: Твик (модификацыя) пакета
Начало » Python для экспертов » Твик (модификацыя) пакета
1
agryn
На машине установлен некий пакет. Возникла необходимость модифицировать функцию одного из глубоко зарытых файлов. В принципе на одной машине для своих потребностей сделать это не проблема. Но как организовать переносимость данной модификации на другую машину где возможности модификации не будет?
reclosedev
Если это функция, метод или класс, которые возможно заменить целиком своей реализацией, то можно воспользоваться monkey-patching'ом.

Например, есть библиотека requests и в ней нужно заменить Session на свою:
import requests
from requests import Session as OriginalSession
 
class MySession(OriginalSession):
    # ...
requests.Session = requests.sessions.Session = MySession
Возможно, придется заменять в нескольких местах, как в примере выше.
agryn
А если это функция не используется в экземпляре класса, а предназначена для внутренних каких то действий?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB