Si la solution de SingleNegationElimination ne fonctionne pas, sachez que vous n'avez pas besoin de remplacer les 33 instances de l'importation ; il suffit de modifier sys.path
aux points d'entrée; par exemple. vous pouvez cibler uniquement le __init__.py
de votre module des dossiers.
Là, vous insérez par ex.
import sys
sys.path.insert(0, DIR)
Une meilleure version de l'option B. serait de remplacer
import twisted
par
import pkg_resources
pkg_resources.require("Twisted==8.2.0")
import twisted
qui s'arrangera pour que la version correcte de twisted soit importée, tant qu'elle est installée, et lève une exception dans le cas contraire. Il s'agit d'une solution plus portable.
Cela ne fonctionnera pas, cependant (ni aucune autre variante de l'option B), si twisted est importé avant le pkg_resources.require
est appelé ; twisted
sera déjà en sys.modules
Modifier OP :Correction de syntaxe mineure, selon pkg_resources
documentation