GNU/Linux >> Linux Esercitazione >  >> Linux

Forza Python a utilizzare una versione precedente del modulo (rispetto a quella che ho installato ora)

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


Linux
  1. Linux:perché Linux mostra sia più che meno memoria di quella che ho installato fisicamente?

  2. Come installare in sicurezza una versione precedente/più recente di Python??

  3. Django installato, ma non è possibile importare Django in Python?

  4. Utilizzare una versione precedente di Libreoffice?

  5. Controlla la versione di Wordpress in uso

Quale versione di Linux sto utilizzando?

Come controllare la versione di Python

Come usare i set in Python

Come impostare o forzare i lavori Cron per utilizzare una versione PHP

Errore di importazione nessun modulo denominato zlib (brew installato python)

Cos'è un kernel contaminato in Linux?