ImportError: ไม่มีโมดูลชื่อ win32api


126

ฉันใช้Python 2.7และฉันต้องการที่จะใช้ในการpywin32-214 Windows 7ฉันติดตั้งpywin32-214โดยใช้msiโปรแกรมติดตั้ง แต่เมื่อฉันนำเข้าwin32apiในสคริปต์ Python ของฉันมันจะแสดงข้อผิดพลาด:

no module named win32api. 

ฉันควรทำอย่างไรดี? สามารถใช้pywin32 apiเพื่อWindows 7?


คุณติดตั้ง Python หลายเวอร์ชันหรือไม่? หากเป็นเช่นนั้นคุณแน่ใจหรือว่าพยายามนำเข้าจากเครื่องเดียวกับที่คุณติดตั้งไว้
— Claudiu

เป็นไปได้ว่าตัวติดตั้ง path msi ที่ติดตั้งไว้จะแตกต่างจากพา ธ ที่คุณพยายามจะนำเข้า
— aidnani8

Claudiu: ไม่ฉันได้ติดตั้ง python 2.7 บนพีซีของฉันเท่านั้น
— akshay

user3193087: อันที่จริงตัวติดตั้ง msi ติดตั้งไฟล์ในไดเร็กทอรีย่อยของฉัน / python27 / ... คุณสามารถนำเข้าไฟล์ใด ๆ ที่ติดตั้งในไดเร็กทอรีย่อย ฉันถูกไหม??
— akshay

คำตอบ:


247

นี่เป็นการแก้ไขกรณีของฉันตามที่พบใน Where to find the win32api module for Python?

pip install pypiwin32

ฉันใช้ python2.7 และติดตั้ง pypiwin32 เรียบร้อยแล้ว
— syam

สิ่งนี้ใช้ได้กับฉันหลังจากที่ฉันรีสตาร์ท Spyder เวลาส่วนใหญ่แพ็กเกจใหม่จะทำงานทันทีหลังจากติดตั้ง แต่ไม่ใช่ในกรณีนี้
— Sean McCarthy

ทำงานในเดือนมีนาคม 2020 สำหรับ Python 3.7.5! ไม่แน่ใจว่าทำไมถึงยังคงอยู่ต่อไป ..
— สิ้นสุด

ฉันใช้มันกับ python2.7 และฉันได้รับข้อผิดพลาด "ข้อผิดพลาด: ไม่พบเวอร์ชันที่ตรงตามข้อกำหนด pywin32> = 223 (จาก pypiwin32) (จากเวอร์ชัน: ไม่มี)"
— Avin Mathew

35

ฉันมีปัญหาเหมือนกันซึ่งฉันแก้ไขได้โดยการรีสตาร์ทตัวแก้ไข Python และเชลล์ ฉันได้ติดตั้งแล้วpywin32แต่โมดูลใหม่ยังไม่ได้รับจนกว่าจะรีสตาร์ท

ถ้าคุณได้ทำมาแล้วที่จะค้นหาในการติดตั้ง Python สำหรับคุณwin32apiและคุณควรจะหาภายใต้win32api.pyd${PYTHON_HOME}\Lib\site-packages\win32


1
สิ่งนี้ช่วยฉันด้วย ตอนแรกมันจะใช้ไม่ได้ จากนั้นฉันเริ่มต้นใหม่ทุกอย่างและใช้งานได้
— Sean McCarthy

30

ตามpywin32 githubคุณต้องเรียกใช้

    pip install pywin32

และหลังจากนั้นคุณต้องวิ่ง

    python Scripts/pywin32_postinstall.py -install

ฉันรู้ว่าฉันกำลังรื้อฟื้นเธรดเก่า แต่ฉันเพิ่งเจอปัญหานี้และนี่เป็นวิธีเดียวที่จะแก้ได้


สิ่งนี้ได้ผลสำหรับฉัน ฉันใช้ pipenv ในโครงการของฉัน ต้องเรียกใช้ post_install.py ในโฟลเดอร์ env ของฉัน
— poWar

ตอนนี้ฉันกำลังมีปัญหากับเรื่องนี้เช่นกัน มีข้อมูลเชิงลึกว่าทำไมมันถึงไม่ทำงาน? ฉันได้รับข้อผิดพลาดนี้ Traceback (โทรล่าสุดล่าสุด): ไฟล์ "C: \ Users \ tws07yi \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-Packages \ win32com_ init_ .py " บรรทัดที่ 32 ในคีย์ SetupEnvironment = win32api.RegOpenKey ( HKEY_LOCAL_MACHINE, keyName, 0, KEY_QUERY_VALUE) AttributeError: module 'win32api' ไม่มีแอตทริบิวต์ 'RegOpenKey'
— twseewx

@twseewx ลองรันเป็นแอดมินดู
— Juano

@Juano เก็บผลเป็นครั้งสุดท้าย
— twseewx

@twseewx ลองระบุเวอร์ชันอื่นของ pywin32 เมื่อทำการติดตั้ง ฉันเพิ่งติดตั้งอีกครั้งและสำหรับฉันก็ใช้งานได้ บางทีการดาวน์โหลดของคุณอาจเสียหายหรือคุณอาจลองอัปเดตเวอร์ชัน python ของคุณ
— Juano

14

ฉันไม่พบแพ็คเกจคำตอบที่ได้รับการโหวตมากที่สุดใน Python 3 dist

ฉันมีปัญหาเดียวกันและแก้ไขได้โดยติดตั้งโมดูล pywin32:

ในหลามปกติ:

pip install pywin32

ในอนาคอนดา:

conda install pywin32

การติดตั้ง python ของฉัน (Intel® Distribution for Python) มีปัญหาการพึ่งพาและทำให้เกิดข้อผิดพลาดนี้ หลังจากติดตั้งโมดูลนี้แล้วจะหยุดปรากฏ


ฉันใช้conda install pywin32แล้วมันได้ผล ขอบคุณมาก
— Nava Bogatee

1

หลังจากติดตั้ง pywin32

ขั้นตอนในการติดตั้งโมดูลของคุณอย่างถูกต้อง (pywin32)

  1. ค้นหาก่อนว่า python pip ของคุณอยู่ที่ไหน

    1a ตัวอย่างเช่นในกรณีของฉันตำแหน่ง pip - C: \ Users \ username \ AppData \ Local \ Programs \ Python \ Python36-32 \ Scripts

  2. จากนั้นเปิดพรอมต์คำสั่งของคุณและเปลี่ยนไดเร็กทอรีไปยังตำแหน่งโฟลเดอร์ pip ของคุณ

    cd C:\Users\username\AppData\Local\Programs\Python\Python36-32\Scripts
    
    C:\Users\username\AppData\Local\Programs\Python\Python36-32\Scripts>pip install 
    pypiwin32

รีสตาร์ท IDE ของคุณ

ตอนนี้คุณสามารถใช้โมดูลได้แล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.