【发布时间】:2021-12-17 16:04:37
【问题描述】:
我正在尝试在 nix 中全局覆盖 python 包 (uvloop),以便黑色看到覆盖。
uvloop(python 包)测试对我来说失败了,因为我在防火墙后面工作。我可以通过直接编辑nixpkgs派生(呃)来设置doCheck = false来构建使用uvloop的东西。
我正在尝试在叠加层中对此进行编码,但没有成功 - 叠加层被读取(例如,语法错误导致失败),但我在叠加层中所做的任何操作实际上都不会阻止测试运行。
我尝试了来自 https://nixos.wiki/wiki/Overlays、https://nixos.org/manual/nixpkgs/stable/#how-to-override-a-python-package-using-overlays 和 How to use custom python with existing packages - nix derivation? 的提示(使用 packageOverrides 覆盖 python;使用 pythonOverrides;以及使用和不使用 overridePythonAttrs);适用于 python3 和 python39;但没有成功。
例如,
self: super: {
python3 = super.python3.override {
packageOverrides = pyself: pysuper: {
uvloop = pysuper.uvloop.overrideAttrs (_: {
doCheck = false;
});
};
};
}
对于奖励积分,我想为 python 包 uvloop 的所有实例实现这一点——不仅仅是 3.9 中的那个——但我会尽我所能获得帮助。
谢谢,
【问题讨论】: