2017-01-09 2 views
1

J'essaie d'installer le pyWin32 sur Windows 7, 64 bits et python version 3.5.2. Je ne peux pas trouver le pyWin32. Télécharger et installer les fichiers de pyWin32http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook et obtenir l'erreur comme ci-dessous:Recherche pyWin32 pour Python 3.5.2 version

Exception: 
Traceback (most recent call last): 
File "C:\Users\nisarahmed.h\AppData\Local\Programs\Python\Python35-32\Lib\shutil.py", 
line 381, in _rmtree_unsafe os.unlink(fullname) 
FileNotFoundError: [WinError 2] The system cannot find the file specified: 

'C:\\Users\\NISARA~1.H\\AppData\\Local\\Temp\\pip-ditl64b5-unpack\\pypiwin32-219-cp35-none-win32.whl' 

During handling of the above exception, another exception occurred: 
Traceback (most recent call last): 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\basecommand.py", line 215, in main status = self.run(options, args) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\commands\install.py", line 335, in run wb.build(autobuilding=True) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\wheel.py", line 749, in build self.requirement_set.prepare_files(self.finder) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files ignore_dependencies=self.ignore_dependencies)) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\req\req_set.py", line 620, in _prepare_file session=self.session, hashes=hashes) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\download.py", line 821, in unpack_url hashes=hashes 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\download.py", line 671, in unpack_http_url rmtree(temp_dir) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\_vendor\retrying.py", line 49, in wrapped_f 
return Retrying(*dargs, **dkw).call(f, *args, **kw) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\_vendor\retrying.py", line 212, in call 
raise attempt.get() 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\_vendor\retrying.py", line 247, in get six.reraise(self.value[0], self.value[1], self.value[2]) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\_vendor\six.py", line 686, in reraise raise value 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\_vendor\retrying.py", line 200, in call attempt = Attempt(fn(*args, **kwargs), attempt_number, False) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\utils\__init__.py", line 102, in rmtree onerror=rmtree_errorhandler) 
File "C:\Users\nisarahmed.h\AppData\Local\Programs\Python\Python35-32\Lib\shutil.py", line 488, in rmtree return _rmtree_unsafe(path, onerror) 
File "C:\Users\nisarahmed.h\AppData\Local\Programs\Python\Python35-32\Lib\shutil.py", line 383, in _rmtree_unsafe 
onerror(os.unlink, fullname, sys.exc_info()) 
File "c:\users\nisarahmed.h\appdata\local\programs\python\python35-32\lib\site-packages\pip\utils\__init__.py", line 110, in rmtree_errorhandler 
if os.stat(path).st_mode & stat.S_IREAD: 
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\\Users\\NISARA~1.H\\AppData\\Local\\Temp\\pip-ditl64b5-unpack\\pypiwin32-219-cp35-none-win32.whl' 

Merci à l'avance

Répondre

0

J'ai trouvé la réponse de Stackoverflow. pip install pywin32 n'a pas fonctionné pour moi mais pip install pypiwin32 a fait.

0

j'eu le même problème. Je contourné le problème en appelant les fonctions requises directement, par exemple:

from ctypes import * 

FILE_LIST_DIRECTORY = 0x1 
FILE_SHARE_DELETE = 0x00000004 
FILE_SHARE_READ = 0x00000001 
FILE_SHARE_WRITE = 0x00000002 
FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 

OPEN_EXISTING = 0x3 

handle = windll.kernel32.CreateFileW(
    path, 
    FILE_LIST_DIRECTORY, 
    FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 
    None, 
    OPEN_EXISTING, 
    FILE_FLAG_BACKUP_SEMANTICS, 
    None 
) 

au lieu de:

import win32file 
import win32con 
hDir = win32file.CreateFile (
    path_to_watch, 
    FILE_LIST_DIRECTORY, 
    win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE | win32con.FILE_SHARE_DELETE, 
    None, 
    win32con.OPEN_EXISTING, 
    win32con.FILE_FLAG_BACKUP_SEMANTICS, 
    None 
) 

Je voulais regarder les changements dans un répertoire. Tim Golden a examples pour utiliser l'API PyWin32 à cette fin, mais j'ai échoué à installer le paquet.

Comme je n'avais besoin que de deux fonctions, j'ai fini par les référencer directement depuis ctypes.windll.kernel32. Cela pourrait ne pas être possible pour des projets plus complexes. Le Centre de développement Windows documente les fonctions requises de façon assez précise, il est donc facile de trouver les indicateurs requis.

Notez que vous devrez peut-être différencier les noms Unicode et Ansi, par ex. CreateFileW (Unicode) et CreateFileA (ANSI), lorsque vous recherchez la fonction. Cela a causé une certaine confusion pour moi, comme je cherchais CreateFile plutôt que CreateFileW.

+0

Merci Cessor .. Après que j'ai essayé 'pip installer pypiwin32' et cela fonctionne très bien pour moi – Nisar

+0

Impossible de le faire fonctionner! Encore mieux si cela a fonctionné pour vous :) – cessor