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

Nix中imperative安装geopandas成功,declarative配置遇阻及频道切换需求

解决Nix下Declarative配置Python环境并设置默认频道为nixpkgs-unstable

第一步:将当前用户的默认频道切换为nixpkgs-unstable

先确认你当前的频道配置,运行:

nix-channel --list

如果当前用户的频道是旧的nixpkgs(对应稳定版),先移除它:

nix-channel --remove nixpkgs

然后添加nixpkgs-unstable作为默认频道:

nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs

最后更新频道索引:

nix-channel --update

验证是否生效:运行以下命令,应该会输出unstable的版本标识(比如24.05pre...):

nix-instantiate --eval -E '<nixpkgs>.version'

第二步:Declarative配置包含geopandas的Python环境

下面提供两种常用的方式,根据你的使用场景选择:

方式1:使用Home Manager(推荐,适合持久化用户级环境)

如果你已经在使用Home Manager,修改你的~/.config/home-manager/home.nix,添加一个定制的Python3.6环境:

home.packages = [
  # 定义包含geopandas的Python3.6环境
  (pkgs.python36.withPackages (ps: with ps; [
    geopandas
    # 这里可以添加其他你需要的Python库,比如numpy、matplotlib等
  ]))
];

如果需要精确指定geopandas 0.3.0版本(确保和你之前imperative安装的版本一致),可以覆盖包属性:

home.packages = [
  (pkgs.python36.withPackages (ps: with ps; [
    (geopandas.overrideAttrs (oldAttrs: rec {
      version = "0.3.0";
      src = oldAttrs.src.override {
        inherit version;
        # 替换为对应版本的sha256哈希值,你可以从之前安装的包信息中获取,或者用nix-prefetch-url计算
        sha256 = "0000000000000000000000000000000000000000000000000000";
      };
    }))
    # 其他依赖库
  ]))
];

修改完成后,应用配置:

home-manager switch

方式2:单独创建环境表达式(适合临时或独立环境)

创建一个名为my-geopandas-env.nix的文件,内容如下:

with import <nixpkgs> {};

# 构建包含geopandas的Python3.6环境
python36.withPackages (ps: [
  ps.geopandas
  # 按需添加其他库
])

然后用declarative方式安装这个环境:

nix-env -if my-geopandas-env.nix

这种方式会将这个定制的Python环境安装到你的用户环境中,后续可以通过nix-env -e python36-...移除,或者修改表达式后重新安装更新。

补充:系统级配置(如果需要全局可用)

如果你需要让这个Python环境在系统所有用户中可用,可以修改/etc/nixos/configuration.nix,先导入unstable频道,再添加到系统包:

let
  unstable = import <nixpkgs-unstable> {};
in
{
  environment.systemPackages = [
    unstable.python36.withPackages (ps: [ps.geopandas])
  ];
}

然后运行sudo nixos-rebuild switch应用系统配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:44:22