在 NixOS 中,如何解决冲突?
In NixOS, how can I resolve a collision?
我正在尝试使用 Python 设置开发环境,包括 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'
这是怎么回事,我该如何解决?
msgpack-python
已重命名为 msgpack
,但这两个软件包都存在于 Nixpkgs 的 release-18.09
中。这似乎是 master
上的 fixed,这些修复应该被移植到 18.09。确实存在此类问题的解决方法:
(python36.withPackages(ps: with ps; [ spacy pandas ])).override (args: { ignoreCollisions = true; })
这实际上不是 NixOS 的问题,而是 Nixpkgs 的问题。
请注意,您只能安装 一个环境,这是导致冲突错误的另一个常见原因。这不是这里的问题。
我正在尝试使用 Python 设置开发环境,包括 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'
这是怎么回事,我该如何解决?
msgpack-python
已重命名为 msgpack
,但这两个软件包都存在于 Nixpkgs 的 release-18.09
中。这似乎是 master
上的 fixed,这些修复应该被移植到 18.09。确实存在此类问题的解决方法:
(python36.withPackages(ps: with ps; [ spacy pandas ])).override (args: { ignoreCollisions = true; })
这实际上不是 NixOS 的问题,而是 Nixpkgs 的问题。
请注意,您只能安装 一个环境,这是导致冲突错误的另一个常见原因。这不是这里的问题。