Comment installer pywin32 dans virtualenv avec python 2.7 64 bits?
Je me demande droit de l'installer sur virtualenv avec 64 bits de python 2.7 pywin32 module (système d'Exploitation est Windows 7 64 bits).
J'ai trouvé exe installer sur Sourceforge.
Quand je lance easy_installer sur la ligne de commande d'abord tout va bien, mais bientôt, je vois le comportement étrange: alors que pywin32-216.win-amd64-py2.7 installe il fonctionne pywin32-216-py2.7-win32.l'oeuf et il échoue avec l'erreur:
No local packages or download links found for pywin32==216
Best match: None
Et voici mon log complet:
(sandbox_virtenv) D:\test\py2exe_test>easy_install http://sourceforge.net/projects/pywin32/files/pywin32/Build216/pywin32-216.win-amd64-py2.7.exe
Downloading http://sourceforge.net/projects/pywin32/files/pywin32/Build216/pywin32-216.win-amd64-py2.7.exe
Processing pywin32-216.win-amd64-py2.7.exe
pywintypes: module references __file__
win32evtlogutil: module references __file__
win32serviceutil: module references __file__
win32timezone: module references __file__
Demos.win32rcparser_demo: module references __file__
Demos.security.sspi.validate_password: module references __file__
isapi.install: module references __file__
isapi.samples.advanced: module references __file__
isapi.samples.test: module references __file__
isapi.test.setup: module references __file__
pywin.framework.scriptutils: module references __file__
pywin.framework.startup: module references __path__
pywin.scintilla.config: module references __path__
pywin.scintilla.control: module references __file__
pywin.scintilla.IDLEenvironment: module references __file__
scripts.regsetup: module references __file__
scripts.setup_d: module references __file__
test.testall: module references __file__
test.test_clipboard: module references __file__
test.test_win32api: module references __file__
test.test_win32rcparser: module references __file__
D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\command\bdist_egg.py:422: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
symbols = dict.fromkeys(iter_symbols(code))
test.test_win32trace: module references __file__
win32com.__init__: module references __path__
win32com.server.register: module references __file__
win32com.server.register: module references __path__
win32com.test.GenTestScripts: module references __path__
win32com.test.pippo_server: module references __file__
win32com.test.testall: module references __file__
win32com.test.testAXScript: module references __path__
win32com.test.testDictionary: module references __file__
win32com.test.testPippo: module references __file__
win32com.test.testPyComTest: module references __file__
win32com.test.testServers: module references __file__
win32com.test.util: module references __file__
win32comext.adsi.__init__: module references __path__
win32comext.authorization.__init__: module references __path__
win32comext.axcontrol.__init__: module references __path__
win32comext.axdebug.codecontainer: module references __file__
win32comext.axdebug.debugger: module references __file__
win32comext.axdebug.__init__: module references __path__
win32comext.axscript.__init__: module references __path__
win32comext.bits.__init__: module references __path__
win32comext.directsound.__init__: module references __path__
win32comext.directsound.test.ds_test: module references __file__
win32comext.internet.__init__: module references __path__
win32comext.mapi.__init__: module references __path__
win32comext.shell.__init__: module references __path__
win32comext.shell.demos.servers.empty_volume_cache: module references __file__
win32comext.shell.demos.servers.folder_view: module references __file__
win32comext.taskscheduler.__init__: module references __path__
creating 'c:\users\antp~1.kyi\appdata\local\temp\easy_install-kclmxk\pywin32-216-py2.7-win32.egg' and adding 'c:\users\antp~1.kyi\appdata\local\temp\easy_install-kclmxk\pywin32-216-py2.7-win32.egg.tmp' to it
creating d:\test\sandbox_virtenv\lib\site-packages\pywin32-216-py2.7-win32.egg
Extracting pywin32-216-py2.7-win32.egg to d:\test\sandbox_virtenv\lib\site-packages
Adding pywin32 216 to easy-install.pth file
Installing pywin32_postinstall.py script to D:\test\sandbox_virtenv\Scripts
Installing pywin32_postinstall.pyc script to D:\test\sandbox_virtenv\Scripts
Installing pywin32_testall.py script to D:\test\sandbox_virtenv\Scripts
Installing pywin32_testall.pyc script to D:\test\sandbox_virtenv\Scripts
Installed d:\test\sandbox_virtenv\lib\site-packages\pywin32-216-py2.7-win32.egg
Processing dependencies for pywin32==216
Searching for pywin32==216
Reading http://pypi.python.org/simple/pywin32/
Reading http://sf.net/projects/pywin32
Reading https://sourceforge.net/projects/pywin32/files/pywin32/
Reading http://sourceforge.net/project/showfiles.php?group_id=78018
No local packages or download links found for pywin32==216
Best match: None
Traceback (most recent call last):
File "D:\test\sandbox_virtenv\Scripts\easy_install-script.py", line 8, in <module>
load_entry_point('setuptools==0.6c11', 'console_scripts', 'easy_install')()
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\command\easy_install.py", line 1712, in main
with_ei_usage(lambda:
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\command\easy_install.py", line 1700, in with_ei_usage
return f()
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\command\easy_install.py", line 1716, in <lambda>
distclass=DistributionWithoutHelpCommands, **kw
File "c:\Python27\Lib\distutils\core.py", line 152, in setup
dist.run_commands()
File "c:\Python27\Lib\distutils\dist.py", line 953, in run_commands
self.run_command(cmd)
File "c:\Python27\Lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\command\easy_install.py", line 211, in run
self.easy_install(spec, not self.no_deps)
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\command\easy_install.py", line 422, in easy_install
return self.install_item(None, download, tmpdir, deps, True)
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\command\easy_install.py", line 478, in install_item
self.process_distribution(spec, dist, deps)
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\command\easy_install.py", line 519, in process_distribution
[requirement], self.local_index, self.easy_install
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py", line 563, in resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py", line 799, in best_match
return self.obtain(req, installer) # try and download/install
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py", line 811, in obtain
return installer(requirement)
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\command\easy_install.py", line 434, in easy_install
self.local_index
File "D:\test\sandbox_virtenv\lib\site-packages\setuptools-0.6c11-py2.7.egg\setuptools\package_index.py", line 475, in fetch_distribution
return dist.clone(location=self.download(dist.location, tmpdir))
AttributeError: 'NoneType' object has no attribute 'clone'
(sandbox_virtenv) D:\test\py2exe_test>
Maintenant, je peux importer à partir de python win32api et il est assez déroutant
(sandbox_virtenv) D:\test\py2exe_test>python
Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import win32api
>>>
Si vous trouver ici quelque chose de pas clair demandez moi. Merci pour tes conseils.
source d'informationauteur tony
Vous devez vous connecter pour publier un commentaire.
J'ai compris cela, mais le processus n'est pas agréable.
Il y a 3 problèmes avec la PyWin32 installateur:
Donc, si vous êtes en cours d'exécution 64 bits python 2.7 sur windows 64 bits ou 32 sur 32 et votre environnement virtuel est en c:\scratch\env1\ le processus ressemble à ceci:
Cela fonctionne assez bien pour l'exécuter django-mssql dans l'environnement virtuel sans avoir pywin32 installé à l'extérieur de l'environnement virtuel.
Avec la dernière virtualenv-1.7.1.2, essayez de créer la virtualenv avec le
--distribute
drapeau. J'ai réussi à résoudre exactement le même problème que vous aviez en ajoutant le drapeau.Sur une note, sur une autre machine (même OS, Windows Server 2008 R2), j'ai dû créer le virtualenv sans la
--distribute
drapeau, sinon chaque fois que j'exécuteeasy_install
une nouvelle invite de commande va s'ouvrir.Virtualenv sur Windows, c'est comme un art foncé.
Malheureusement, le support du 64bits Python sur Windows est relativement pauvre que la version 32 bits. Ce n'est pas la faute de la communauté Python, mais la relative difficulté d'obtenir des compilateurs pour les 64 bits de Windows.
Si vous avez installé la version 64 bits de Python, vous devez également utiliser les paquets construits pour 64 bits. Quelques simples paquets Python (ceux écrits en pur Python et ne nécessitant pas de externe/bibliothèques C) s'installe de manière normale à l'aide de setuptools/easy_install/virtualenv. Beaucoup de 64 bits des packages cependant susceptible de casser lorsqu'il est installé dans virtualenv et aura besoin d'un installateur.
Heureusement, vous pouvez trouver 64bit pré-compilé les programmes d'installation pour les ensembles populaires ici. Essayez le colis, il y a d'abord. Le programme d'installation de la cible entre le mondial et le principal de l'installation de Python et n'est donc pas isolé par virtualenv. Notez cependant que ce sont officieux: les versions fournis gratuitement pour votre confort, merci donc de ne pas poursuivre le fournisseur si les choses ne (ou attendre pour obtenir de l'aide).
C'est une vieille question, mais tomber sur ce problème récemment et je veux partager ce que j'ai fait pour faire ce travail. J'ai été à la recherche pour python implémentation kerberos sur windows, et j'ai trouvé kerbeors_sspi qui utilise pywin32.
tout cela est installé à l'aide de pip, mais pywin32 ne peut pas être installé à l'aide de pip à l'intérieur de la virtualenv.
J'ai donc patché le kerberos_sspi bibliothèque à utiliser pypiwin32, qui est une roue emballé par le Glyphe et el (tordu créateur BTW). Et maintenant, tout cela fonctionne à merveille, si vous voulez accéder à la COM des choses que vous avez à installer manuellement pywin32, car il doit être enregistré avec le système.
Voici le lien vers le pypiwin32 index
Acclamations,