我正在尝试使用 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
中。这似乎是fixed在 master
上,这些修复应该反向移植到 18.09。确实存在针对此类问题的解决方法:
(python36.withPackages(ps: with ps; [ spacy pandas ])).override (args: { ignoreCollisions = true; })
这实际上不是 NixOS 问题,而是 Nixpkgs 问题。
请注意,您只能安装 一个环境,这是导致冲突错误的另一个常见原因。这不是这里的问题。
关于python - 在 NixOS 中,如何解决冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52941074/