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

如何强制Streamlit在指定Python版本或特定虚拟环境中运行

问题原因

双击bat启动时不会继承你在Spyder里手动激活的conda环境,系统会按照全局环境变量的优先级搜索可执行文件。你原来bat里直接写streamlit run myApp.py,系统匹配到的是其他Python 3.8环境中安装的streamlit程序,根本没有调用你基于Python3.6创建的目标conda虚拟环境。

配置步骤

不要依赖环境变量自动匹配程序路径,直接在bat里显式指定目标环境的执行逻辑,两种可靠方案选一个就行:

  • 方案1:先激活目标conda环境再启动
    1. 先确认你的conda安装根目录,以及Python3.6虚拟环境的名称(可以在已激活目标环境的终端执行conda env list查看,带*的就是当前环境,对应行的路径就是环境根目录)
    2. 替换bat文件全部内容为如下代码,注意把路径和环境名改成你自己的实际值:
    @echo off
    :: 替换为你自己conda安装目录下的activate.bat绝对路径
    call C:\ProgramData\anaconda3\Scripts\activate.bat 你的Python3.6虚拟环境名称
    :: 打印当前Python版本,方便排查是否匹配
    python --version
    :: 启动应用
    streamlit run myApp.py
    :: 保留控制台窗口,报错时不会直接闪退
    pause
    
  • 方案2:直接调用虚拟环境内的streamlit可执行文件(无需激活环境,更稳定)
    找到目标conda虚拟环境下的Scripts文件夹,里面会有streamlit.exe文件,把bat内容替换为如下代码,替换成你自己的实际路径:
    @echo off
    :: 替换为你虚拟环境Scripts目录下streamlit.exe的绝对路径
    "C:\Users\你的用户名\anaconda3\envs\py36_env\Scripts\streamlit.exe" run myApp.py
    pause
    
验证方式

修改保存bat后双击运行,查看控制台打印的Python版本号,如果显示3.6即配置生效。如果版本不对,优先检查你填写的路径是否存在拼写错误,不要用相对路径,必须写全绝对路径。

内容的提问来源于stack exchange,提问作者Ubaldo Gonzalez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:54:18