Windows下Python虚拟环境连续执行多条命令失效问题咨询
问题原因与调整方案
故障根源
你遇到的问题是cmd.exe的/k参数执行逻辑导致的:/k的作用是执行完参数中指定的命令后,保持cmd窗口打开进入交互模式。原命令里仅把activate.bat放在了/k后面的引号范围内,因此&&连接的设置代理、运行脚本的后续命令不会被自动执行。
可直接使用的调整方案
方案1:单命令直接运行
把所有待执行的命令都放入/k后的引号内,命令间用&&分隔,就能保证按顺序执行,执行完成后会保留cmd窗口:
C:\Windows\system32\cmd.exe /k "C:\Venv\Scripts\activate.bat && set http_proxy=<proxyserver1>:80 && set https_proxy=<proxyserver12>:80 && py start.py"
如果不需要执行完保留窗口,把/k替换为/c即可,执行完成后cmd窗口会自动关闭。
方案2:批处理脚本运行(更易维护)
新建后缀为.bat的脚本文件,写入以下内容后直接双击运行即可,后续修改参数也更方便:
@echo off :: 激活虚拟环境,必须加call否则执行完激活脚本会直接退出批处理 call C:\Venv\Scripts\activate.bat :: 设置代理变量 set http_proxy=<proxyserver1>:80 set https_proxy=<proxyserver12>:80 :: 运行目标Python脚本 py start.py :: 可选:执行完后暂停窗口,方便查看运行日志 pause
内容的提问来源于stack exchange,提问作者user3423407
相关产品推荐
相关产品推荐

