2011-05-12 7 views
68

J'ai un programme python que je veux installer dans mon virtualenv - c'est un paquet zip que j'ai besoin de décompresser puis d'exécuter un programme setup.py - mais ma question est plutôt de savoir comment obtenir ces fichiers décompressés dans mon virtualenv de sorte que le paquet est installé dans le dossier site-packages de virtualenv?Python - installez manuellement le paquet en utilisant virtualenv

Je peux également installer à partir de l'intérieur de mon virtualenv en utilisant pip install <package name>, mais pour une raison quelconque, le paquet que PIP télécharge est obsolète. Donc, quelqu'un peut-il me dire quelques étapes faciles pour installer un paquet manuellement?

Jusqu'à présent, j'ai les commandes de base pour charger le virtualenv:

-bash-3.2$ source ~/.bashrc 
-bash-3.2$ workon test 
(test)-bash-3.2$ //Now I'm working on my virtualenv, but where do I go after this?? 

Alors - est-il important où je décompresse le paquet python/programme - ou devrais-je être connecté au virtualenv avant de dézipper? Après avoir chargé le virtualenv et que je l'utilise avec la commande 'workon test', est-ce que tout paquet python que j'installe, quel que soit le répertoire que je trouve, s'installe dans le dossier de paquets de site de virtualenv? L'option 1 est de décompresser le programme python dans/home/nom d'utilisateur/tmp - puis connectez-vous à mon virtualenv, accédez à ce dossier et exécutez le programme setup.py - en supposant que virtualenv va transférer tous les fichiers pertinents à son propre dossier site-packages.

OU scénario 2 est de décompresser les fichiers directement dans le site-packages et l'exécuter à partir de là (après la connexion au virtualenv), etc

Merci d'aider un clutz Python avec ça!

Répondre

98

Je voudrais généralement extraire le programme dans un dossier temporaire, puis à partir de ce dossier, exécutez le fichier setup.py en utilisant le chemin direct vers l'instance de virtualenv python. par exemple, si votre virtualenv est dans/home/nom d'utilisateur/virtualpy, utilisez cette (à partir de votre dossier temporaire)

/home/username/virtualpy/bin/python setup.py install 

Cela devrait l'installer sur votre site virtualenv dossier du package.

+2

donc vraiment l'opération d'importation est de lancer python en utilisant la version de Python (2.6) installé dans le virtualenv ... sympa! Merci Dwelch. – Jamison

+0

Assurez-vous de l'exécuter à partir du dossier temporaire; setup.py s'attendra probablement à ce que ce soit le dossier actuel. – Seth

9

bien lorsque vous basculez vers l'environnement virtuel. vous devez taper

which python

et si elle retourne le chemin où votre environnement virtuel existe alors son accord, vous pouvez exécuter cette commande directement.

$ python setup.py build 
$ python setup.py install 

mais si elle donne le chemin de niveau mondial qui n'est pas votre chemin virtualenv's alors vous devriez essayer d'utiliser

$ ~/.virtualenv/python-env/bin/python setup.py build 
$ ~/.virtualenv/python-env/bin/python setup.py install