GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zwingen Sie Python, eine ältere Version des Moduls zu verwenden (als ich jetzt installiert habe)

Wenn die Lösung von SingleLenegationLimination nicht funktioniert, seien Sie sich bewusst, dass Sie nicht alle 33 Instanzen des Imports ersetzen müssen. Sie müssen nur sys.path ändern an den Einstiegspunkten; z.B. Sie können nur auf das __init__.py Ihres Moduls abzielen Dateien.

Dort würden Sie z.B.

import sys
sys.path.insert(0, DIR)

Eine bessere Version von Option B. wäre,

zu ersetzen
import twisted

von

import pkg_resources
pkg_resources.require("Twisted==8.2.0")
import twisted

Dies wird dafür sorgen, dass die richtige Version von Twisted importiert wird, solange sie installiert ist, und ansonsten eine Ausnahme aufwirft. Dies ist eine tragbarere Lösung.

Dies funktioniert jedoch nicht (noch würde eine andere Variaton von Option B), wenn Twisted vor dem pkg_resources.require importiert wird wird angerufen; twisted wird bereits in sys.modules sein

OP bearbeiten :Kleinere Syntaxkorrektur, pro pkg_resources Dokumente


Linux
  1. Linux – Warum zeigt Linux sowohl mehr als auch weniger Speicher an, als ich physisch installiert habe?

  2. Wie installiere ich sicher eine ältere/neuere Version von Python?

  3. Überprüfen Sie die verwendete Version von Wordpress

  4. Hat Python ein argc-Argument?

  5. fehlendes Python bz2-Modul

Welche Version von Linux verwende ich?

So überprüfen Sie die Python-Version

Django installiert, aber Django kann nicht in Python importiert werden?

Verwenden Sie eine ältere Version von Libreoffice?

So verwenden Sie Sets in Python

So richten Sie Cron-Jobs ein oder zwingen sie, eine PHP-Version zu verwenden