在 nix-shell 中找不到 ortools

问题描述

按如下方式启动 nix-shell

nix-shell -p python39Packages.ipython python39Packages.ortools --run ipython

关注

 import ortools

结果

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-0c521df57bb5> in <module>
----> 1 import ortools

ModuleNotFoundError: No module named 'ortools'

有关如何处理此问题的任何建议表示赞赏!

解决方法

如果 nix 没有符号链接 Python 包(site-packages),通常就是这种情况。在这里,您需要使用此命令组合所需的 Python 包:

nix-shell -p "python39.withPackages(ps: with ps; [ipython ortools])" --run ipython

然后,您将能够轻松导入 ortools。生成这样的 shell 有一个额外的好处,它通常会使命令更易于阅读。