我正在使用python的anaconda发行版和spyder IDE。 通过conda install mayavi
安装mayavi,通过降级numpy 1.10.4 -> 1.9.3
来破坏spyder,如conda list --revisions
所示。 我可以通过再次手动升级numpy来"修复"此问题,但我怀疑Mayavi会出现问题。
我的问题:有没有更好的方法将Mayavi和spyder整合到anaconda中? 而且,更一般地说,是否有用于管理包依赖项的推荐协议? 如果安装 mayavi 没有破坏我使用的下一件事(spyder),那么跟踪此错误的来源可能非常困难。 实际上,我认为包管理是,比如说,anaconda 发行版的价值主张......
(这里出现了相关但不同的问题。
我遇到了同样的问题,并且使用相同的工具组合。
解决方案是使用 conda 环境。环境是独立的"空间",您可以在其中安装特定的软件包组合,而独立于其他地方的"主要"软件包集。详细文章在这里
工作流程基本上涉及以下内容:打开 Anaconda 提示符并为 Mayavi 设置一个新的 conda 环境,例如。称为"mayavi_environment":
conda create -n mayavi_environment python=(<PYTHONVERSION>)
其中 () 是 2.7,3.4 或您想要用于创建环境的任何版本。
创建后键入:
activate mayavi_environment
完成此操作后,需要必要的包依赖项安装。我也遇到了spyder的问题,这是通过完全卸载它并在环境中重新安装来解决的。这里有一堆从创建的环境中运行spyder的解决方案。
安装 mayavi 有点复杂。它使用 VTK、numpy==1.15.3 和 traits lib,如果没有 VC2015 就无法编译。但是,您可以在此处找到非官方的.whl文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/
有一些方法可以管理这些依赖项。您可以使用pipenv:https://pipenv.readthedocs.io/en/latest/advanced/
https://virtualenvwrapper.readthedocs.io/en/latest/
或者你可以使用康达环境。以上是替代方案。