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