我试图运行一个python脚本与Windows任务,但Last Run Result
是0x 2331出于某种原因。这个错误似乎表明一个windows path issue。
重复
我正在使用Windows 10 Pro(64位),我的Python可执行文件的绝对路径是C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe
。
我的python脚本
我的python脚本的绝对路径是C:\Users\user\.spyder-py3\AutoScript\test.py
。它只是将当前时间写入一个文本文件。如果文本文件不存在,它会创建一个文本文件:
# -*- coding: utf-8 -*-
import datetime
with open('C:/Users/user/.spyder-py3/AutoScript/readme.txt', 'a+') as f:
f.write(f'{datetime.datetime.now()}\n')
字符串
如果我用Python 3.9.7在Spyder 3 IDE(Anaconda 3)中正常运行脚本,readme.txt
会被创建而没有错误,文件内容也和预期的一样。因此,脚本没有问题。
使用任务模板创建任务
我已经在任务管理器中包含了设置的截图。点击图片可以以高分辨率查看它们。
x1c 0d1x的数据
的
的
结果
当我在任务管理器上运行任务,然后刷新任务管理器时,我的任务的“上次运行结果”是(0x2331)
。
What I tried
我试着在任务栏中摆弄不同的设置,但没有成功。前3列表示设置细节,最后一列包含获得的结果。
| 程序/脚本|添加参数:|开始于:|上次运行结果|
| --|--|--|--|
| C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe |C:\Users\user.spyder-py3\AutoScript\test.py||(0x2331)|
| “C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe”|“C:\Users\user.spyder-py3\AutoScript\test.py”||(0x2331)|
| C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe |test.py|C:\Users\user.spyder-py3\AutoScript|(0x2331)|
| C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe |“网址:test.py“|C:\Users\user.spyder-py3\AutoScript|(0x2331)|
| “C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe”|“网址:test.py“|“C:\Users\user.spyder-py3\AutoScript”|目录名无效(x8007010 B)|
| “C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe”|“网址:test.py“|C:\Users\user.spyder-py3\AutoScript|(0x2331)|
批量文件
使用这个post as reference,我还尝试使用executePy.bat
文件放置。它被放置在与test.py
相同的文件夹中。executePy.bat
:
@echo off
"C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe" "test.py"
型
任务栏中的设置如下:
| 程序/脚本|添加参数:|开始于:|上次运行结果|
| --|--|--|--|
| C:\Users\user.spyder-py3\AutoScript\executePy.bat |||(0x2331)|
以上修改都没有解决我的问题。任何帮助都很感激。谢谢。
1条答案
按热度按时间moiiocjp1#
问题
当我在命令提示符下输入
where python
时,我得到字符串
但是,当我在命令提示符下输入
python
时,Microsoft Store打开,并要求我下载Python 3.10解释器。命令提示符无法识别我当前的Python解释器。
解决方案
为了解决这个问题,我不得不在windows中将python添加到我的环境变量中。
配置环境变量
由于某些原因,
C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe
的第一个python解释器没有解决这个问题,所以我决定使用Anaconda的python解释器。在this tutorial之后,我将
C:\Users\user\anaconda3\Scripts\
和C:\Users\user\anaconda3\
添加到系统变量部分的Path变量中。现在,当我在命令提示符下输入
python
时,我得到:型
还有一个关于未激活的conda环境的警告。我暂时忽略了这个警告。
创建批文件
使用这个post as reference,我在与脚本
test.py
相同的文件夹中创建了一个executePy.bat
文件。executePy.bat
包含:型
C:\Users\user\.spyder-py3\AutoScript\test.py
是我想要执行的python脚本的绝对路径。注意事项
为了简单起见,我没有激活任何anaconda环境。因此,如果我试图在脚本中导入externallibrary,任务将无法成功运行。解决方案是首先在anaconda上激活一个具有所需库的环境。
有关激活anaconda环境的更多信息,请访问:
在任务调度器上配置任务
x1c 0d1x的数据
| 程序/脚本|添加参数:|开始于:|
| --|--|--|
| C:\Users\user.spyder-py3\AutoScript\executePy.bat |||
结果
上次运行结果:
The operation completed successfully (0x0)
。如果在正确配置环境变量后仍然需要帮助,这些帖子可能会很有用: