Win32com python kütüphanesi nasıl kurulur


18

Win32com modülünü kurmaya çalışıyorum. Windows için Python uzantısını indirmem gerektiğini biliyorum , ancak çalışmıyor.

Windows için Python'u yükleyip denedikten import win32com.clientsonra aşağıdaki hata iletisini alıyorum:

>>> import win32com.client

    Traceback (most recent call last):
      File "<pyshell#2>", line 1, in <module>
        import win32com.client
      File "C:\Python27\lib\site-packages\win32com\__init__.py", line 5, in <module>
        import win32api, sys, os

ImportError: No module named win32api

Python için win32api'nin nasıl kurulacağı konusunda yardım için google'ı denemek de yardımcı olmaz; Python for Windows eklentilerine tekrar başvurdum.


1
Python sürümünüz için Windows için Python uzantılarının doğru ikili dosyasını yüklediniz mi? Örneğin, 64 bit Python yüklerseniz, 32 bit uzantıları yüklerseniz, salt Python modülleri (gibi win32con) içe aktarılır, ancak C genişletme modülleri (gibi win32api) alınmaz; Python 2.6 yüklerseniz, uzantıları 2.7 için yüklerseniz, içe aktarılabilir ancak daha sonra çökebilir; vb.

10
Bu neden Yığın Taşması'ndan taşındı ?!
Jean-François Corbett

Yanıtlar:


10
  1. Yönetici haklarına sahip bir komut satırı başlatın.
  2. python -m pip install pywin32
  3. C:\Program Files\Stackless36\Scripts>python pywin32_postinstall.py -install
  4. python C:\code\Python\speech\speak.py

Nerede speak.pybu metinden oluşur:

import win32com.client

speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("It works, bitches.")

Python 3.6.4 Yığınsız 3.1b3 060516 (v3.6.4-slp: 9557b2e530, 21 Aralık 2017, 15:23:10) win32'de iyi çalışıyor. Vanilla CPython burada takılıyor:

C:\Users\C\AppData\Local\Programs\Python\Python36-32>python.exe
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import win32com.client
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'win32com'
>>> exit()

C:\Users\C\AppData\Local\Programs\Python\Python36-32>python.exe -m pip install pywin32
Collecting pywin32
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/d4/2d/b927e61c4a2b0aaaab72c8cb97cf748c319c399d804293164b0c43380d5f/pywin32-223-cp36-cp36m-win32.whl (8.3MB)
    100% |████████████████████████████████| 8.3MB 50kB/s
Installing collected packages: pywin32
Successfully installed pywin32-223
You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

4

Modülün yüklü olduğu dizinin orada olduğundan emin olmak için sys.path dosyasını kontrol edin, aksi takdirde eklemeniz gerekir (bununla ilgili yardım için google PYTHONPATH pencereleri.)


1
Tavsiye için teşekkürler. Sorun farklı bir şey olduğu ortaya çıktı: her iki durumda da, aynı dosyalara işaret etmesine rağmen, kayıt defterinde iki farklı Python yüklemesi vardı. Her ikisine de yeniden yüklemek sorunu çözdü.

Ortam değişkeninde PYTHONPATH kurmaya çalıştım ve hala bu çalışmayı görmüyorum. aynı hatayı alıyorum.
Soman Dubey

OP bağlantılı paketi şimdi yükleyenler için import, çalışacak şekilde doldurmak için PYTHONPATH'daki gerekli değişiklikler için Python konsolunuzu (örneğin IDLE) yeniden başlatmanız gerekir .
SeldomNeedy

2

Aynı sorunu sadece dün yaşadım. pypiwin32Kullanarak yükledim pip.

Deneyin

>>pip install -U pypiwin32

komut isteminde

Python paketinizin PATH sisteminde olduğundan emin olun.

Python modüllerini kurmanın birkaç farklı yolu olduğunu ve keşfettiğiniz gibi hepsinin işe yaramadığını unutmayın. pip installile -Ubenim için pypiwin32(içeren win32com) modülü ile çalıştı .


1
-UAnahtar açılımı --upgradeve pypi.org/project/pypiwin32 daha iyi bir dolu (.whl biçimi) 'dir pypi.org/project/pywin32 aynı devs tarafından. python -m pipSadece pipyol nedenleriyle tercih edildiğini okudum .
Cees Timmerman

Bu benim için çalıştı. Hata mesajını alıyorsanız şunu TypeError: 'module' object is not callabledeneyin:python -m pip install -U pypiwin32
datalifenyc

-2

Burada tüm dosya "win32api" arayarak bilgisayarınızdaki dosyayı arayın C: \ Python26 \ Lib \ win32com "Bu zaten win32com kütüphane yüklemek varsayalım ve ben" C düşündüğüm dosyayı bulacaksınız : \ Python26 \ Lib \ site-Packages \ win32 "Modülün çalışabilmesi için tüm dosyanın bilgisayarınızda bu iki yerde bulunması gerekir".

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.