我在Mac上工作,并且尝试使用Python中的子进程模块打开一个外部程序(Visual Studio Code)。 code
二进制文件位于usr/local/bin
变量中的PATH
中。当我使用python3.8 main.py
在shell上运行代码时,我的代码工作正常。但是,当我使用IDLE运行程序时,Python会不断给我
Traceback (most recent call last):
File "/Users/mike/Desktop/main.py", line 33, in <module>
subprocess.Popen(['code'])
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'code'
我的代码非常简单:
import subprocess
subprocess.Popen(['code'])
有人知道原因是什么,如何解决?
谢谢大家。
答案 0 :(得分:0)
如果有扩展名,您可以在打开文件时尝试使用该扩展名吗?另外,我们可以尝试提供一次绝对路径。
答案 1 :(得分:0)
尝试使用Visual Studio代码的完整路径,而不只是使用“代码”一词
subprocess.Popen(['usr/local/code'])