【问题标题】:Wrong version of pydot is being imported正在导入错误版本的 pydot
【发布时间】:2016-05-13 11:37:42
【问题描述】:

我使用 Ipython notebook 成功安装了pydot2

%%bash

pip install pydot2


Collecting pydot2
  Downloading pydot2-1.0.33.tar.gz
Requirement already satisfied (use --upgrade to upgrade): pyparsing in /Users/ram/anaconda/lib/python3.5/site-packages (from pydot2)
Requirement already satisfied (use --upgrade to upgrade): setuptools in /Users/ram/anaconda/lib/python3.5/site-packages/setuptools-19.1.1-py3.5.egg (from pydot2)
Building wheels for collected packages: pydot2
  Running setup.py bdist_wheel for pydot2
  Stored in directory: /Users/ram/Library/Caches/pip/wheels/e5/2d/ca/55e0109fb619edaa42ca287d9e55519eeebebc9bbca35996f6
Successfully built pydot2
Installing collected packages: pydot2
Successfully installed pydot2-1.0.33

在终端,我看到 pydot2 存在。在 python 中,import pydot2 失败,import pydot 显示 pydot 的 1.0.29 版本,而不是 1.0.33。

$ pip freeze| grep pydot

pydot2==1.0.33

$ python
Python 3.5.1 |Anaconda 2.4.0 (x86_64)| (default, Dec  7 2015, 11:24:55) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import pydot

pydot.__version__
'1.0.29'

import pydot2

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'pydot2'

问题:在安装 pydot2 之前是否需要卸载 pydot。我该怎么做?

注意:我有一个双 Ananconda python env (2.7/3.5) 在 2.7 中,有 没有安装 pydot。我使用的是最新的 MacOS 10.11。

我无法确定 pydot 1.0.29 在我的系统上的位置。

【问题讨论】:

  • @DavidW,欢迎您的更改,并感谢您通知和纠正它。抱歉添加了错误的标签。

标签: python pip pydot


【解决方案1】:

这应该会告诉你 pydot 1.0.29 在你的系统上的位置:

import pydot
pydot.__file__

您的安装尝试有一条有趣的消息:use --upgrade to upgrade。您是否尝试添加 --upgrade 选项?

【讨论】:

  • 我没有尝试添加 --upgrade 选项。我怎么做 ?谢谢,拉姆
  • pip install --upgrade pydot2
  • $ pip install --upgrade pydot2 要求已经更新:./lib/python3.5/site-packages 中的 pydot2 收集 pyparsing(来自 pydot2) 下载 pyparsing-2.0.7-py2 .py3-none-any.whl 正在收集 setuptools(来自 pydot2) 正在下载 setuptools-19.7-py2.py3-none-any.whl (472kB) 安装收集的包:pyparsing、setuptools 找到现有安装:pyparsing 2.0.3 弃用:卸载distutils 安装的项目(pyparsing)已被弃用,将在未来的版本中删除。
  • 这是因为卸载 distutils 项目只会部分卸载该项目。卸载 pyparsing-2.0.3:成功卸载 pyparsing-2.0.3 找到现有安装:setuptools 19.1.1 无法从不存在的文件 /Users/ram/anaconda/lib/python3.5/site-packages/easy-install.pth 中删除条目
  • 升级后pydot.__version__还是1.0.29
【解决方案2】:

我想我找到了问题所在。当我查看实际的package 时,正在安装的 pydot 文件是 pydot.py,而不是 pydot2.py。这就是为什么我们无法导入 pydot2 和 pydot ver。 1.0.29 已安装。

如果我找到解决方案,我会更新。

更新:经过大量挖掘,我发现 pydot2 没有一个很好的解决方案。相反,您应该使用可以通过 pip 安装的 pydotplus。

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2018-07-08
    • 2013-11-06
    • 2016-07-16
    • 2020-06-10
    • 2019-11-05
    相关资源
    最近更新 更多