Puis-je installer Python windows paquets dans virtualenvs?
Virtualenv est grand: il me permet de garder un certain nombre de différentes Python installations ainsi que les différents projets dépendances ne sont pas tous jetés ensemble dans une commune de la pile.
Mais si je veux installer un paquet sur Windows qui est emballé comme une .exe installer, comment puis-je direct à installer dans le virtualenv? Par exemple, j'ai pycuda-0.94rc.win32-py2.6.exe. Quand je le lance, il examine le registre, et ne trouve qu'un seul Python26 à installer dans la commune, que mon virtualenv est basé hors de.
Comment puis-je direct à installer dans le virtualenv?
- la réponse ci-dessous fonctionne pour moi, stackoverflow.com/questions/6114115/...
Vous devez vous connecter pour publier un commentaire.
Oui, vous le pouvez. Tous vous avez besoin est
Surpris? Il ressemble binaire installateurs pour Windows, avec distutils combiner .exe avec .zip dans un .exe fichier. Changement d'extension .zip à voir, c'est valide d'un fichier zip. J'ai découvert cet après lecture des réponses à ma question Où puis-je télécharger les binaires oeufs avec psycopg2 pour Windows?
Mise à JOUR
Comme l'a noté Tritium21 dans sa réponse aujourd'hui, vous devez utiliser le pip au lieu de easy_install. Pip ne peut pas installer des paquets binaires créés par distutils, mais il peut installer des paquets binaires dans le nouveau roue format. Vous pouvez convertir de vieux format à l'autre en utilisant roue package, vous devez installer en premier.
Je sais que c'est tout à fait une vieille question, et date d'avant les outils, je suis sur le point de parler, mais pour l'amour de Google, je pense que c'est une bonne idée de le mentionner. easy_install est le mouton noir de python emballage. Personne ne veut admettre l'utiliser avec le nouveau hotness de pip autour. Aussi, tout en jouant de registre astuces fonctionnent mieux pour les non-standard EXE installateurs (quelqu'un a construit le programme d'installation eux-mêmes au lieu d'utiliser distutils, et de la vérification du registre pour le chemin d'installation), il y a maintenant une Meilleure Façon(c) pour EXE standard installateurs.
La roue format, introduite récemment comme de ce post, est le remplacement de l'œuf format, remplissant le même rôle. Ce format est également pris en charge par le pip (un outil est déjà installé dans votre virtualenv).
si pour une raison quelconque
pip install WHEELFILE
ne fonctionne pas, essayezwheel install WHEELFILE
wheel install WHEELFILE
, réponse édité à souligner l'existence de cette. Débogage d'un problème spécifique pour quelqu'un n'est pas quelque chose de carrément fait dans les commentaires.J'ai fini par l'adaptation d'un script (http://effbot.org/zone/python-register.htm) pour enregistrer une installation de Python dans le registre. Je peux prendre l'Python à la Python dans le registre, exécutez le programme d'installation de Windows, puis définissez la base de registre:
Exécuter ce script avec Python vous souhaitez être inscrit, et il sera inscrit dans le registre. Notez que sous Windows 7 et Vista, vous aurez besoin des privilèges d'Administrateur.
regpath = "SOFTWARE\\Wow6432Node\\Python\\Pythoncore\\%s\\" % (version)
easy_install est capable de s'installer .exe paquets aussi longtemps qu'ils ont été construits à l'aide de distutils' bdist_wininst cible, qui couvre de nombreux packages populaires. Cependant, il y a beaucoup d'autres qui ne le sont pas (wxPython est celui que j'ai eu du mal avec)
Vous pouvez utiliser l'environnement de easy_install pour installer PyCUDA.
il va vous donner la même version 0.94 rc.
Sur Windows easy_install.exe sera dans le répertoire de Scripts.
Si c'est un
.msi
, vous pourriez être en mesure de spécifier les options de ligne de commande à l'aide demsiexec
. Le Python installateur lui-même permet d'TARGETDIR
, mais je ne suis pas sûr si distutils bakes ce distribution des installateurs.Si vous utilisez un
.exe
, je ne pense pas qu'il y a un moyen propre. Une option est d'utiliser un logiciel comme 7Zip (ou winzip, etc) directement en extraire le contenu de l'exe, puis copiez les dossiers pertinents sur votre site-packages dossier. Par exemple, si j'ai extrait "processing-0.5.2.win32-py2.5.exe", je trouve un dossier "PLATLIB\transformation", dont j'ai la copie d'un virtualenv chemin d'accès et une utilisation sans problèmes d'exécution. (Je ne suis pas sûr que c'est toujours aussi simple que cela si.)