2017-06-13 1 views
0

J'ai une application python qui est exécutée dans un virtualenv sur CentOS. Cette application nécessite une bibliothèque python distribuée et installée en tant que rpm. Lorsque l'application s'exécute je viens d'obtenirL'application ne peut pas trouver la bibliothèque python installée en tant que rpm

no module named ....

J'ai vérifié que le rpm est installé correctement, et j'ai également installé le rpm dans le répertoire site-packages de virtualenv mais cela n'a pas aidé. Quelle est la bonne façon d'installer un RPM pour qu'une application s'exécutant dans un environnement virtuel y ait accès?

+0

J'ai oublié la commande rpm mais pouvez-vous faire une liste des fichiers inclus dans votre installation? Si c'est dans des packages de site, vous devrez peut-être l'activer lors de la création de virtualenv. Y at-il une incompatibilité de version entre votre système python et virtualenv python? –

Répondre

3

par des environnements virtuels par défaut ne pas utiliser des modules dans le site-packages. Vous devez soit autoriser un tel accès (toggleglobalsitepackages dans virtualenvwrapper) ou vous recréer virtualenv permettant un tel accès avec l'option --system-site-packages.

+0

Cela a fonctionné! Aussi (comme j'aurais dû le penser) cela fonctionne pour ajouter le chemin du RPM installé à PYTHON_PATH – user16655

0

Il peut également s'agir d'un problème de dépendance. Essayez de réinstaller le RPM à l'aide yum au lieu de rpm:

yum -y reinstall /path/to/your/file.rpm