【发布时间】:2020-01-26 07:36:54
【问题描述】:
我开发了一个 python 脚本,可以在不同的控制台中启动几个 Node.js 应用程序。它可以在 Windows(python 版本 3.7.3)上运行,但不能在 Mac(3.7.4_1)上运行。
我一直在滚动 python 文档,但没有看到任何问题,而且我在堆栈溢出中发现的几篇帖子都没有解决我的问题。
这是错误:
subprocess.Popen(['node', 'index.js'],
creationflags=subprocess.CREATE_NEW_CONSOLE, shell=False)
AttributeError: 模块 'subprocess' 没有属性 'CREATE_NEW_CONSOLE'
代码如下:
def __runProject(self, project):
print(f'Starting project \'{project.projectName}\'...')
subprocess.Popen(['node', 'index.js'], creationflags=subprocess.CREATE_NEW_CONSOLE, shell=False)
os.chdir(self.__currentWorkingDirectory)
提前谢谢你!
【问题讨论】:
-
您是否看到说明该变量仅适用于 Windows 的文档? stackoverflow.com/q/29633719/2308683
-
谢谢。我读过但错过了这部分。不过,鉴于我想打开多个控制台以同时启动多个进程,你会建议怎么做?谢谢
-
这应该适用于 macOS:subprocess.Popen(['/usr/bin/open', '-n', '-a', 'Terminal', '/usr/local/bin/ node', 'index.js'], shell=False)
标签: python python-3.x macos subprocess