在NixOS中,我该如何解决碰撞?

6

我正在尝试搭建一个包含Python、Spacy和Pandas库的开发环境。我要运行的命令是nix-shell -p 'python36.withPackages(ps: with ps; [ spacy pandas ])

但是出现了以下情况:

these derivations will be built:
  /nix/store/7pgb52aa5hkgzv0mkc3jmxdhavxdr013-python3-3.6.6-env.drv
building '/nix/store/7pgb52aa5hkgzv0mkc3jmxdhavxdr013-python3-3.6.6-env.drv'...
collision between `/nix/store/k1njxvw8rdv29yz7iccr4nbfwcbghwhc-python3.6-msgpack-0.5.6/lib/python3.6/site-packages/msgpack/__pycache__/__init__.cpython-36.pyc' and `/nix/store/nig71x1wc7b3c04hs6vz8kk6bmdz5ldv-python3.6-msgpack-python-0.5.6/lib/python3.6/site-packages/msgpack/__pycache__/__init__.cpython-36.pyc'

这里发生了什么事情,我该如何解决呢?
1个回答

8

msgpack-python 已更名为 msgpack 但这两个包都存在于Nixpkgs的release-18.09中。这似乎已经在 master 上得到了 修复,并且这些修复应该被移植到18.09版本。对于这种问题,有一种解决方法:

(python36.withPackages(ps: with ps; [ spacy pandas ])).override (args: { ignoreCollisions = true; })

这实际上不是NixOS的问题,而是Nixpkgs的问题。

请注意,您只能安装一个环境,这是碰撞错误的另一个常见原因。但这不是本问题的原因。

我已经创建了一个问题


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接