Python ModuleNotFoundError:没有名为';win32serviceutil';

Python ModuleNotFoundError:没有名为';win32serviceutil';,python,python-3.x,windows,Python,Python 3.x,Windows,我有一个项目,可以安装为Windows服务,但我有困难,使它完成 Venv是为本项目准备的,安装了pywin32软件包(版本227)。但是,当我尝试使用以下命令从控制台运行python文件时: import win32serviceutil 我遇到以下错误: ModuleNotFoundError:没有名为“win32”的模块 我尝试过的事情: 重新安装软件包,并使用python-m pip install pywin32重新安装 将导入方式更改为: 从win32导入win32 Servic

我有一个项目,可以安装为Windows服务,但我有困难,使它完成

Venv是为本项目准备的,安装了pywin32软件包(版本227)。但是,当我尝试使用以下命令从控制台运行python文件时:

import win32serviceutil
我遇到以下错误:

ModuleNotFoundError:没有名为“win32”的模块

我尝试过的事情:

  • 重新安装软件包,并使用python-m pip install pywin32重新安装
  • 将导入方式更改为:

    从win32导入win32 ServiceUtil
    从win32.lib导入win32 ServiceUtil
    将win32.lib.win32 ServiceUtil作为win32 ServiceUtil导入

  • 来自

win32被PyCharm识别为文件夹:

奇怪的是,我可以运行以下命令并安装Windows服务:

python MyPythonFile.py install
它不会返回任何错误。但是,尝试使用以下命令启动服务:

python MyPythonFile.py start
返回:

“错误1053:服务未及时响应启动或控制请求”

在调试模式下,它返回:

ModuleNotFoundError:没有名为“win32serviceutil”的模块


此线程的解决方案有效:

我用来解决它的代码:

import os
import sys

service_directory = os.path.dirname(__file__)
source_directory = os.path.abspath(service_directory)
os.chdir(source_directory)
venv_base = os.path.abspath(os.path.join(source_directory, "..", "..", "venv"))
sys.path.append(".")
old_os_path = os.environ['PATH']
os.environ['PATH'] = os.path.join(venv_base, "Scripts")+ os.pathsep + old_os_path
site_packages = os.path.join(venv_base, "Lib", "site-packages")
prev_sys_path = list(sys.path)
import site
site.addsitedir(site_packages)
sys.real_prefix = sys.prefix
sys.prefix = venv_base
new_sys_path = list()
for item in list(sys.path):
    if item not in prev_sys_path:
        new_sys_path.append(item)
        sys.path.remove(item)
sys.path[:0] = new_sys_path
在对导入进行故障处理之前必须运行此代码

很好:)

为了让它与我一起工作,我必须更改虚拟环境文件夹的路径,该路径反映在下一行中,指向我的venv文件夹

由此:
venv_base=os.path.abspath(os.path.join(源目录“…”、“.”、“venv”))

为此:
venv_base=os.path.abspath(os.path.join(source_目录,“…”,“,“venv”))

Install 225 version注意,如果要将pywin32用于“系统范围”功能,如注册COM对象或实现Windows服务,则必须从提升的命令提示符(源代码)运行以下命令@nithin我也这么做了,这是@PySaad的答案之一我仍然收到相同的错误尝试pip安装pywin32和pip安装pypiwin32您的“from”与您的“to”相同。