GNU/Linux >> Znalost Linux >  >> Linux

Vynutit pythonu použití starší verze modulu (než to, co jsem nainstaloval nyní)

Pokud řešení SingleNegationElimination nefunguje, uvědomte si, že není nutné nahradit všech 33 instancí importu; stačí upravit sys.path na vstupních bodech; např. můžete cílit pouze na __init__.py vašeho modulu soubory.

Tam byste vložili např.

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

Lepší verzí možnosti B. by bylo nahradit

import twisted

od

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

který zařídí, aby byla importována správná verze twisted, pokud je nainstalována, a jinak vyvolá výjimku. Jedná se o přenosnější řešení.

To však nebude fungovat (ani žádná jiná varianta možnosti B), pokud bude twisted importován před pkg_resources.require je volán; twisted bude již v sys.modules

OP Edit :Drobná oprava syntaxe podle pkg_resources docs


Linux
  1. Co používám na linuxu k vytvoření spustitelného programu python

  2. Má Python synchronizaci?

  3. Můžeme použít C kód v Pythonu?

  1. Jak mohu použít výstražný dialog s Pythonem v linuxu?

  2. Chyba importu žádný modul s názvem zlib (pivo nainstalovaný python)

  3. Jaké je použití $# v Bash

  1. Linux – Proč Linux ukazuje více i méně paměti, než jsem fyzicky nainstaloval?

  2. Jak bezpečně nainstalovat starší/novější verzi Pythonu?

  3. Co je to poskvrněné jádro v Linuxu?