Python脚本基于this implementation(但不完全相同)跟踪Windows计算机上的登录。它使用了PyWin32,设置起来有点棘手,但是一旦完成,脚本已经运行了好几个月 - 直到它突然停止工作,似乎没有理由。
我无法确定脚本停止工作的原因。由于有多个用户,我检查过是否有人“篡改”路径/系统变量或python安装或类似的东西。
设置保持不变,过去常常没有问题。当然PyWin安装在env中使用:
(py27) C:\Users\Username>conda list
# packages in environment at C:\ProgramData\Anaconda3\envs\py27:
#
pip 9.0.1 py27_1
pypiwin32 219 <pip>
python 2.7.13 1
pywin32 221 <pip>
requests 2.14.2 py27_0
setuptools 27.2.0 py27_1
vs2008_runtime 9.00.30729.5054 0
wheel 0.29.0 py27_0
其他系统变量/路径也在开头设置,并且没有更改:
错误: 最近脚本总是失败,在PyCharm中运行时产生以下错误:
C:\ProgramData\Anaconda3\envs\py27\python.exe C:/Python27/LoginTracker/wtsmonitor-svc.py
File "C:\ProgramData\Anaconda3\Lib\site.py", line 177
file=sys.stderr)
^
SyntaxError: invalid syntax
Process finished with exit code 1
但是,当直接从CMD运行monitor-svc.py时,它会产生一些不同的错误:
C:\Projects\LoginTracker>wtsmonitor-svc.py start
'import site' failed; use -v for traceback
wtsmonitor-svc: PyWin32 modules not found
为什么会发生这种情况?没有安装被更改(我知道)并且无法找出错误的原因。