Se la soluzione di SingleNegationElimination non funziona, tieni presente che non è necessario sostituire tutte le 33 istanze dell'importazione; devi solo modificare sys.path
ai punti di ingresso; per esempio. potresti scegliere come target solo il __init__.py
del tuo modulo File.
Lì inseriresti ad es.
import sys
sys.path.insert(0, DIR)
Una versione migliore dell'opzione B. sarebbe quella di sostituire
import twisted
di
import pkg_resources
pkg_resources.require("Twisted==8.2.0")
import twisted
che organizzerà l'importazione della versione corretta di twisted, a condizione che sia installata, e solleverà un'eccezione in caso contrario. Questa è una soluzione più portatile.
Questo non funzionerà, però (né qualsiasi altra variazione dell'opzione B), se twisted viene importato prima del pkg_resources.require
viene chiamato; twisted
sarà già in sys.modules
OP Modifica :Correzione minore della sintassi, per pkg_resources
documenti