2017-09-24 3 views
0

Ich versuche WMI zu verwenden. Es ist erforderlich, dass ich pywin32 installiere, was ich getan habe. Aber wenn ich WMI importiere, gibt es einen Fehler zurück. Kann mir jemand helfen!Pywin32 FileNotFoundError: [Errno 2] Keine solche Datei oder Verzeichnis: ... \ __ init__.py

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Anaconda\lib\site-packages\wmi.py", line 88, in <module> 
    from win32com.client import GetObject, Dispatch 
    File "C:\Anaconda\lib\site-packages\win32com\client\__init__.py", line 11, in <module> 
    from . import gencache 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 666, in <module> 
    __init__() 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 62, in __init__ 
    Rebuild() 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 653, in Rebuild 
    _SaveDicts() 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 69, in _SaveDicts 
    f = open(os.path.join(GetGeneratePath(), "dicts.dat"), "wb") 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 145, in GetGeneratePath 
    f = open(fname,"w") 
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\KEVINE~1\\AppData\\Local\\Temp\\gen_py\\3.6\\__init__.py' 
+0

Willkommen auf SO! Führen Sie Ihren Code als Mitglied der Administratorgruppe aus? – wp78de

+0

Mögliches Duplikat von [Kann WMI-Python-Modul nicht importieren] (https://stackoverflow.com/questions/20654047/cant-import-wmi-python-module) – wp78de

Antwort

0

Ich habe dies selbst versucht und kann bestätigen, wmi funktioniert in Anaconda mit Python 2.7.

Was ich tat:

  1. Gestartet die Anaconda Prompt (python2)
  2. Conda installieren pywmi32 (pywin32: 220-py27_1 wurde bereits installiert haben, nichts zu tun).
  3. pip install wmi
  4. Führen Sie die folgende Testprobe in Spyder oder an der Eingabeaufforderung python wmi_test.py
import wmi  
c = wmi.WMI() 
for s in c.Win32_Service (StartMode="Auto", State="Stopped"): 
    if raw_input ("Restart %s? " % s.Caption).upper() == "Y": 
    s.StartService() 

Als Baseline-Test können Sie sogar die WMI-Modul direkt ausgeführt werden und einige Informationen über Ihre Festplatten erhalten:

python C:\Users\itsyou\Anaconda3\envs\python2\Lib\site-packages\wmi.py 
+1

Übrigens, in meinem Buch ist PowerShell die Waffe der Wahl mit WMI umgehen. – wp78de

+0

PowerShell ist definitiv das Tool für den Zugriff auf WMI unter Windows. Verpassen Sie keine CIM- und WMI-Cmdlets. – bahrep

Verwandte Themen