Subprocess.run在CMD中找不到文件,但在IDE中

时间:2019-06-14 16:51:33

标签: python subprocess scheduled-tasks

我正在尝试在Python中运行一行代码,以将Jupyter Notebook转换为HTML。

import subprocess
subprocess.run(['jupyter', 'nbconvert', '--to','html', r'C:\path\notebook.ipynb'])

该代码可在我的IDE中完美运行。但是,当我尝试在Windows Scheduler中输入命令时,它不起作用。

Program/script: C:\path\python.exe
Add arguments (optional): "C:\path\code_above.py"

然后我打开CMD并键入以下代码,并得到以下消息。

C:\Users\me> C:\path\python.exe C:\path\code_above.py

FileNotFoundError: [WinError 2] The system cannot find the file specified

我尝试过的事情:

在“添加参数”中添加,删除引号

先关闭cmd.exe

Program/script: C:\Windows\System32\cmd.exe
Add arguments (optional): /c C:\path\python.exe C:\path\code_above.py

查看了我的os.environ ['COMPSEC']变量

最后,cmd似乎找不到我的文件。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要使用subprocess.run运行shell=True

import subprocess
subprocess.run(['jupyter', 'nbconvert', '--to','html', r'C:\path\notebook.ipynb'], shell=True)