You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python脚本在新命令窗口启动脚本并使用venv环境?

解决方案

要让子脚本在venv环境的独立窗口运行,核心是指定venv专属的Python解释器路径,同时调用对应系统的终端命令打开新窗口,分系统实现如下:

1. 先确定venv的Python解释器位置

你的虚拟环境里的Python程序路径:

  • Windows:path/to/venv/Scripts/python.exe
  • Linux/macOS:path/to/venv/bin/python3

2. 分系统编写代码

Windows 平台

用cmd.exe /c start命令启动新命令窗口,同时指定venv的Python来运行目标脚本:

import subprocess

# 替换成你的实际路径
venv_python = r"C:\your\venv\path\Scripts\python.exe"
target_script = r"C:\your\script\path\python script.py"

# start后的空字符串是占位符,用来跳过窗口标题参数
subprocess.Popen(["cmd.exe", "/c", "start", "", venv_python, target_script], shell=False)

Linux/macOS 平台

根据你用的终端工具选择命令,举两个常见例子:

  • Gnome终端(Linux):
import subprocess

venv_python = "/your/venv/path/bin/python3"
target_script = "/your/script/path/python script.py"

subprocess.Popen(["gnome-terminal", "--", venv_python, target_script])
  • macOS 自带Terminal:
import subprocess

venv_python = "/your/venv/path/bin/python3"
target_script = "/your/script/path/python script.py"

subprocess.Popen(["open", "-a", "Terminal.app", venv_python, target_script])

3. 关键注意点

  • 务必用绝对路径,避免相对路径引发的文件找不到问题
  • 如果脚本路径含空格,Windows下用原始字符串r""包裹,Linux/macOS下可以给路径加引号
  • 先手动在终端执行venv路径/python 脚本路径,确认能正常运行后再写到代码里

内容的提问来源于stack exchange,提问作者LA Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 12:46:20