【发布时间】:2018-10-24 20:17:56
【问题描述】:
我即将放弃 Anaconda。我从来没有遇到过使用pip 管理我的包裹的问题,我只是想尝试一下,因为现在有一个我无法使用pip 获得的包裹,而且我听说过很多关于它的好消息。
我无法导入刚刚使用 Anaconda 安装的包,类似于 this,但在 MacOS 而非 Windows 上。
我真的不想要多个环境,除非我必须拥有它们。我希望能够从相同的脚本运行我的大部分/所有包。我有一个名为 py37 的虚拟环境,我一直在其中放置大部分东西。在其他软件包中:
(py37) jennifers-mbp:~ jenniferlongdiaz$ conda list
#packages in environment at /anaconda3/envs/py37:
#
# Name Version Build Channel
matplotlib-venn 0.11.5 py_1 conda-forge
numpy 1.15.3 py37h6a91979_0
python 3.7.1 haf84260_3
Python 去正确的安装:
(py37) jennifers-mbp:~ jenniferlongdiaz$ which python
/anaconda3/envs/py37/bin/python
(py37) jennifers-mbp:~ jenniferlongdiaz$ python
Python 3.7.1 (default, Oct 23 2018, 14:07:42)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
我可以导入 numpy 但不能导入 matplotlib-venn:
>>> import numpy as np
>>> import matplotlib_venn as venn
...一堆东西然后:
ImportError: cannot import name 'get_backend' from 'matplotlib' (/anaconda3/envs/py37/lib/python3.7/site-packages/matplotlib/__init__.py)
类似:
>>> from matplotlib import get_backend
...一堆东西然后:
ImportError: cannot import name 'get_backend' from 'matplotlib' (/anaconda3/envs/py37/lib/python3.7/site-packages/matplotlib/__init__.py)
从 IDE spyder ((py37) jennifers-mbp:~ jenniferlongdiaz$ spyder) 中,我得到:
In [1]: import matplotlib_venn as venn
Traceback (most recent call last):
File "<ipython-input-9-aafbc15b97e7>", line 1, in <module>
import matplotlib_venn as venn
ModuleNotFoundError: No module named 'matplotlib_venn'
请帮忙!
【问题讨论】:
-
这里有两个单独的问题。 1 是
matplotlib_venn可能依赖于具有该功能的旧版本的 Matplotlib,但他们没有在他们的设置文件中正确指定它(参见github.com/konstantint/matplotlib-venn/blob/…)。其次,如果您希望能够从环境中导入包,则需要将 Spyder 安装到该环境中。 -
spyder 安装在 py37 中,这就是我使用它的地方,见上文
-
请显示
conda list的完整输出如果spyder安装在基础环境中,它仍然会运行即使没有安装在py37环境中!它只会拾取错误的包裹。这是因为PATH环境变量的工作原理。 -
知道了,你是对的,它正在运行基本的 spyder。重新启动终端和 conda install spyder 后,现在一切正常。不确定 matplotlib 发生了什么。如果你回答我会接受
-
看来@Michael 已经得到了答案,欢迎接受他们的答案
标签: python anaconda matplotlib-venn