J'ai installé à la fois virtualenv
et pywin32
sur mon ordinateur portable Windows 7 64 bits, et chacun semble fonctionner, mais pas les uns avec les autres.
Plus précisément, si un virtualenv est actif, l'exécution de import win32com.client
dans un python interactif Shell échoue avec No module named win32com.client
. Cependant, la même expression réussit si aucun virtualenv n'est actif.
Lorsque j'essaie d'installer pywin32
avec pip
(c'est ainsi que j'installe normalement des modules lorsqu'un virtualenv est actif), j'obtiens l'erreur:
Could not find any donwloads that satisfy the requirement pywin32
No distributions at all found for pywin32
...même si pywin32
est l'un des modules répertoriés dans la sortie de
pip search pywin32
Par conséquent, pour installer pywin32
du tout J'ai dû l'installer à l'aide d'un programme d'installation * .exe téléchargé depuis SourceForge.
Existe-t-il un moyen d'installer
pywin32
dans un virtualenv?
Il existe maintenant une version de pywin32 sur PyPI qui peut être installée avec pip. On l'appelle pypiwin32
, et il installe le package en utilisant le format binaire wheel
.
https://pypi.python.org/pypi/pypiwin32
pip install pypiwin32
Cela fonctionnera dans un virtualenv, ou avec tox, etc.
En dessous de cette ligne se trouve mon ancienne réponse précédente. Il s'agit désormais d'informations périmées.
ANCIENNE RÉPONSE - VIEILLI. Les versions modernes de virtualenv utilisent par défaut --no-site-packages. Cela signifie que ne pas avoir accès aux packages de sites globaux est désormais le comportement par défaut. Malheureusement (depuis juillet 2014), vous ne pouvez pas installer pywin32 sur votre virtualenv. ( voici le rapport de bogue ) Si vous voulez lancer pywin32 dans virtualenv, activez virtualenv et utilisez easy_install et le fichier exe du programme d'installation pywin32. Par exemple, easy_install "C:\Path\To\Downloads\pywin32-219.win32-py3.4.exe"
Essaye ça:
pip install --no-index --find-links:/local/dir/ SomePackage
Découvrez # 8 sur pip-installer.org (désolé, pas de permalien) /
Créez un virtualenv et activez-le: cd c:\Users\ernesto.luzon virtualenv --no-site-packages py351env py351env\Scripts\activate
De là, vous avez deux options:
Téléchargez pywin32 depuis le projet sourceforge: http://sourceforge.net/projects/pywin32/files/pywin32/
Téléchargez pywin32 depuis un site binaire non officiel (mais très utile): http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32
Assurez-vous de télécharger la version correcte pour l'interpréteur Python installé dans votre environnement, sinon vous rencontrerez ImportError: DLL:% 1 n'est pas une application Win32 valide plus tard.
Si vous avez téléchargé depuis sourceforge, installez-le en utilisant easy_install: (py351env) C:\Users\ernesto.luzon\Downloads>easy_install pywin32-220.win-AMD64-py3.5.exe
Si vous avez téléchargé depuis gohlke, installez-le à l'aide de pip: (py351env) C:\Users\ernesto.luzon\Downloads>pip install pywin32-220-cp35-none-win_AMD64.whl
Si vous rencontrez une erreur ImportError: DLL échec de chargement: le module spécifié est introuvable plus tard, vous avez besoin des étapes supplémentaires suivantes:
Exécutez le script de post-installation: (py351env) C:\Users\ernesto.luzon>python py351env\Scripts\pywin32_postinstall.py -install Copied pythoncom35.dll to C:\Users\ernesto.luzon\py351env\pythoncom35.dll Copied pywintypes35.dll to C:\Users\ernesto.luzon\py351env\pywintypes35.dll ....
Notez où il a copié les fichiers "pythoncom35.dll" et "pywintypes35.dll". Vous devez déplacer ces fichiers dans le dossier: C:\Users\ernesto.luzon\py351env\Lib\site-packages\win32