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

添加Streamlit后Nix项目执行nix develop报未定义变量错误

解决Nix项目中Streamlit包未找到的问题

问题原因

错误提示undefined variable 'streamlit',说明当前使用的nixpkgs版本中,Python 3.11的包集合未直接暴露streamlit变量,或flake的nixpkgs输入未更新到包含该包的版本。

解决方法

方法1:明确引用Streamlit包

修改python_packages的定义,直接从pkgs.python311Packages中调用streamlit,绕过作用域问题:

python_packages= python.withPackages(ps: [
  ps.ipython
  ps.matplotlib
  ps.pandas
  pkgs.python311Packages.streamlit
]);

方法2:更新nixpkgs输入

如果是nixpkgs分支过旧导致缺少包,执行命令更新输入:

nix flake update

也可以指定包含Streamlit的具体commit版本(可选,提升稳定性):

inputs.nixpkgs.url = "github:NixOS/nixpkgs/[替换为包含Streamlit的commit哈希]";

方法3:使用完整Python包集合

改用python3Full替代python311,获取更完整的第三方库集合:

python=pkgs.python3Full;

之后保持原有的with ps;引用方式即可。

验证修改

修改完成后重新执行:

nix develop

进入shell后测试Streamlit可用性:

streamlit --version

内容的提问来源于stack exchange,提问作者Pierre-olivier Gendraud

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:23:11