1 votes

Comment installer Err dans un environnement virtuel Python 3 ?

J'essaie d'installer Err sur le serveur Ubuntu 12.04.4. Il nécessite Python et un certain nombre de dépendances.

Lorsque j'ai suivi les instructions d'installation, je n'ai pas réussi à le faire fonctionner en utilisant la version "par défaut", qui semble être Python 2.7. Il semble y avoir une dépendance circulaire dans sleekxmpp (une des exigences) :

ImportError: cannot import name resolver

Mon idée est donc d'utiliser Python 3 à la place. Tout cela est installé sur mon système :

python                                          install
python-apt-common                               install
python-dbus-dev                                 install
python-minimal                                  install
python-pip                                      install
python-pkg-resources                            install
python-setuptools                               install
python2.7                                       install
python2.7-minimal                               install
python3                                         install
python3-minimal                                 install
python3.2                                       install
python3.2-minimal                               install

Lorsque j'utilise pip pour installer des trucs, je n'ai aucune idée si cela utilise Python 2, ou 3, ou vraiment, ce que quoi que ce soit utilise (je ne vois pas comment contrôler quelle version des paquets à installer, sur quelle version de Python ces paquets sont basés avec pip freeze ).

Je veux juste disposer d'un environnement qui utilise la dernière version de Python 3 sans que tous ces autres trucs me perturbent. J'ai donc essayé d'installer virtualenv et la mise en place de l'environnement, mais il semble que ce soit juste une autre python2.7 l'environnement. En bref, je n'ai aucune idée de ce qui se passe et j'ai besoin de quelques conseils.

2voto

Aditya Points 12756

Err entraîne un grand nombre de dépendances, je vous suggère donc d'utiliser Virtualenv pour l'installer. Et puisqu'ils mentionnent qu'à partir de Err v2.0, ils l'ont écrit avec Python 3 en tête, vous devriez utiliser Python 3 si vous le pouvez (bien que Err soit aussi compatible avec Python 2.7).

Pour comprendre comment utiliser virtualenv, Jetez un coup d'œil à sa documentation et en créer quelques-uns pour jouer et comprendre le concept. Fondamentalement, virtualenv sert à garder les dépendances séparées pour chaque projet et à ne pas les mélanger avec celles déjà installées par défaut sur le système.

Virtualenv est fourni par défaut dans la bibliothèque standard à partir de Python 3.3. Mais comme vous avez Python 3.2, nous devons d'abord l'installer.

sudo apt-get install python3-pip
sudo pip3 install virtualenv

Maintenant, créez le virtualenv pour installer Err et activez-le en suivant la documentation ci-dessus. Je n'ai pas Python 3.2 et ne peux donc pas le tester pour le moment, mais ce qui suit devrait fonctionner (en supposant que vous voulez le créer à l'adresse ~/venv/py3-err/ ):

python3 virtualenv.py ~/venv/py3-err/
. ~/venv/py3-err/bin/activate

Une fois activé, installez Err en utilisant pip. Puisque vous rencontrez des problèmes avec sleekxmpp , un bogue a été signalé à cet égard et il a été corrigé dans leur branche principale Github. Donc, installez-le directement à partir de là :

pip install https://github.com/gbin/err/archive/master.zip

Si vous obtenez des erreurs de construction à cette étape, téléchargez les paquets de construction de base et exécutez à nouveau la commande ci-dessus :

sudo apt-get install build-essential cmake libffi-dev

Une fois installé, vous devez sauvegarder le config-template.py como config.py dans un répertoire de données séparé. cd dans ce répertoire et le lancer en exécutant simplement err.py o err.py --daemon en suivant le guide de l'utilisateur .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X