如何在 Windows 10 64 位上安装 pygraphviz

Posted

技术标签:

【中文标题】如何在 Windows 10 64 位上安装 pygraphviz【英文标题】:howto install pygraphviz on windows 10 64bit 【发布时间】:2017-04-10 03:16:14 【问题描述】:

有人在 windows 10 64bit 上成功安装了 pygraphviz 吗?我用 python 3.5 64bit & 32bit 尝试了 anaconda,但没有成功。

这是我在 win10 64 位上使用 python 3.5 32 位时遇到的错误

python -m pip install pygraphviz --install-option="--include-path=C:\Program Files (x86)\Graphviz2.38\include" --install-option="--library-path=C:\Program Files (x86)\Graphviz2.38\lib"

错误:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Program Files (x86)\Graphviz2.38\include" -IC:\Users\tra20\Anaconda3\include -IC:\Users\tra20\Anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcpygraphviz/graphviz_wrap.c /Fobuild\temp.win32-3.5\Release\pygraphviz/graphviz_wrap.obj
graphviz_wrap.c
pygraphviz/graphviz_wrap.c(3321): warning C4047: 'return': 'int' differs in levels of indirection from 'Agsym_t *'
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO "/LIBPATH:C:\Program Files (x86)\Graphviz2.38\lib" /LIBPATH:C:\Users\tra20\Anaconda3\libs /LIBPATH:C:\Users\tra20\Anaconda3\PCbuild\win32 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86" cgraph.lib cdt.lib /EXPORT:PyInit__graphviz build\temp.win32-3.5\Release\pygraphviz/graphviz_wrap.obj /OUT:build\lib.win32-3.5\pygraphviz\_graphviz.cp35-win32.pyd /IMPLIB:build\temp.win32-3.5\Release\pygraphviz\_graphviz.cp35-win32.lib
LINK : fatal error LNK1181: cannot open input file 'cgraph.lib'
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\link.exe' failed with exit status 1181

我认为这与 graphviz 以 32 位链接的事实有关?

注意 - 我尝试了我在互联网(anaconda,互联网)上找到的所有 pygraphviz 二进制文件,但在 win10 64 位上没有任何工作......如果你有任何工作(我的意思是你真的测试过它)我也会很高兴。 ..

【问题讨论】:

[SO]: Installing pygraphviz on Windows 10 64-bit, Python 3.6 (@CristiFati's answer). 解决了 here 的 windows 10 【参考方案1】:

我在 Anaconda channel 上为运行 Python 3.6 到 3.9 的 Windows 64 位创建了 PyGraphviz 1.5 的构建。如果你正在运行Anaconda,你可以安装:

conda install -c alubbock pygraphviz

这还将安装 Graphviz 2.41 作为依赖项(不要单独安装,它可能会发生冲突并且并非所有版本都兼容 64 位)。

我目前没有适用于 Python 3.5 或 32 位版本的 Windows 的版本,但我希望以上内容有所帮助。

【讨论】:

为我节省了很多时间。谢谢:) 这有点不对,对我不起作用。我用conda install -c alubbock graphviz pygraphviz @Julio 我刚刚添加了一个 Python 3.8 版本。谢谢提醒! 这在 Windows 10 上对我有用。安装后执行 dot -c 它不包括neato。如何使用 graphviz 安装它?【参考方案2】:

接受的答案对我在 Windows 10 上运行 Python 2.7 (Anaconda) 不起作用。@MiniMe 为--global-option 建议的文件路径甚至不存在于他或她指向的 git 存储库中。

对我有用的是遵循(当前)底部答案提供的说明:Installing pygraphviz on windows

步骤: 1.从https://graphviz.gitlab.io/_pages/Download/Download_windows.html下载graphviz-2.38.msi并安装 2.从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz下载您需要的2.7 o̶r̶̶3̶.̶4̶车轮文件 3. 导航到您将 wheel 文件下载到的目录 4.运行pip install pygraphviz-1.3.1-cp27-none-win_amd64.whl 5. 欢喜

请注意,可能需要运行̶̶p̶i̶p̶ ̶i̶n̶s̶t̶a̶l̶l̶ ̶p̶y̶g̶r̶a̶p̶h̶v̶i̶z̶-̶1̶.̶3̶.̶1̶-̶c̶p̶3̶4̶-̶n̶o̶n̶e̶-̶w̶i̶n̶_̶a̶m̶d̶6̶4̶.̶w̶h̶l̶̶如果̶y̶o̶u̶'̶r̶e̶试图得到它的工作与Python̶3̶.̶4̶.̶我̶d̶i̶d̶n̶'̶t̶测试̶t̶h̶o̶u̶g̶h̶.̶此外,SO回答我参考还提到需要将graphviz 添加到您的PATH,但我不需要。祝你好运!

更新:python3 ***消失了。如果您正在运行 python3,this answer 为我工作。按照上面的步骤 1,然后在 WSL bash 中运行: 1.sudo apt-get install python-dev graphviz libgraphviz-dev pkg-config 2.pip install pygraphviz

答案说要使用sudo pip install pygraphviz,但由于某种原因,这给了我一个可怕的 pip 导入错误。删除 sudo 使其适用于我的情况。

【讨论】:

不太清楚为什么这个分数为零,但它也对我有用。 我提供的答案是针对 Python 3.X 这是 2.7 的答案 如果您尝试在 Windows 10 bash 上使用 pygraphviz,这个答案对我有用 (***.com/questions/40528048/…)。基本上,只需运行:sudo apt-get install python-dev graphviz libgraphviz-dev pkg-config 然后sudo pip install pygraphviz @r3robertson。 python 3.x 文件在哪里?我只看到cp27 32 和 64 位版本。 @jason 我在那个网站上也找不到 3.x ***了。我用 3.6 上对我有用的东西更新了我的答案。希望这会有所帮助。【参考方案3】:

从这里开始阅读 https://github.com/pygraphviz/pygraphviz/issues/58

在该页面的底部,有一个指向 Github 中 x64 zip 文件的链接(例如 this) 打开包装。为您的 x64 文件创建一个对应的 Program Files 文件夹并将它们放在那里

然后使用这个安装

pip install --global-option=build_ext --global-option="-IC:\Program Files\Graphviz2.38\include" --global-option="-LC:\Program Files\Graphviz2.38\lib\" pygraphviz

【讨论】:

这是该问题页面底部的链接:github.com/mahkoCosmo/GraphViz_x64。奇怪的是,repo 已经 8 个月没有更新了,但是你在 \Graphviz2.38\lib 中指向的 release 目录并不存在。 在我的情况下(Win 10,Python 3.6),另外,必须应用此处描述的补丁github.com/pygraphviz/pygraphviz/issues/… 这会抛出'graphviz/cgraph.h' : No such file or directory 这对我有用,但如果我尝试在requirements.txt 文件中指定这些选项然后读取setup.py 文件中的requirements.txt 文件以指定@987654332 @。我在--global-option 收到解析错误。【参考方案4】:

在 Windows 10 上安装 pygraphviz 确实很痛苦,但这是对我有用的简单解决方案:

第 1 步:下载并安装 Graphviz

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

第 2 步:将以下路径添加到 PATH 环境变量中

C:\Program Files (x86)\Graphviz2.38\bin

第3步:重新打开命令行并在你的项目中激活venv,例如:

venv\Scripts\activate

第 4 步:从以下链接下载二进制文件:

https://github.com/CristiFati/Prebuilt-Binaries/tree/master/PyGraphviz/v1.5/Graphviz-2.42.2

第 5 步。将 whl 安装到您的虚拟环境中

例如:

如果是 python 3.7

pip install pygraphviz-1.5-cp37-cp37m-win_amd64.whl

如果是 python 3.8

pip install pygraphviz-1.5-cp38-cp38-win_amd64.whl

【讨论】:

谢谢您,您对将 Graphviz 路径添加到 PATH 环境变量的评论是最终让这对我有用的原因【参考方案5】:

这是我为 Windows 10 安装 64 位 PyGraphViz 的方法:

从https://www2.graphviz.org/Packages/stable/windows/10/cmake/Release/x64/graphviz-install-2.44.1-win64.exe下载并安装GraphViz

确保我安装了 Visual C++,例如从这里: https://visualstudio.microsoft.com/visual-cpp-build-tools/

然后我跑了:

pip install --global-option=build_ext --global-option="-IC:\Program Files\Graphviz 2.44.1\include" --global-option="-LC:\Program Files\Graphviz 2.44.1\lib" pygraphviz

然后我必须在import pygraphviz 起作用之前将C:\Program Files\Graphviz 2.44.1\bin 添加到我的系统路径中。

最后,我必须在安装后在命令提示符下运行它来注册插件并能够绘制图形:"C:\Program Files\Graphviz 2.44.1\bin\dot.exe" -c

显然,对于较新版本的 Graphviz,您需要检查并更新上面给出的所有路径。

【讨论】:

【参考方案6】:

以上方法都不适合我,所以我将展示在我的 windows 11 机器上有效的方法(我认为 windows 版本不是问题),位于 pygraphviz documentation:

    安装 Visual C/C++,从这里:https://visualstudio.microsoft.com/visual-cpp-build-tools/ 它显示为一项要求,即使您确实安装了它并尝试使用 pip 重新安装,它也可能无法正常工作,因为 garphviz 是另一个要求。 下载并安装适用于 windows 的 graphviz:stable_windows_10_cmake_Release_x64_graphviz-install-2.46.0-win64.exe 重新启动计算机(根据第一步的要求) 然后通过 Windows PowerShell 使用以下命令安装库 pygraphviz(我不知道为什么,使用 pip 仍然无法正常工作):
python -m pip install --global-option=build_ext `
          --global-option="-IC:\Program Files\Graphviz\include" `
          --global-option="-LC:\Program Files\Graphviz\lib" `
          pygraphviz

【讨论】:

【参考方案7】:

在没有 conda 或外部打包程序的情况下在 Windows 上安装 pygraphviz 的真正最简单的方法是使用 Gohlke 的***(意见:他的作品应该由 Python 软件基金会的某个人每天承担)

    使用 64 位或 32 位 exe 从 graphviz 安装最新或改编的 graphviz 包。不要忘记选中“添加到路径”框

    重启电脑

    下载Unofficial Windows Binaries for Python Extension Packages by Christoph Gohlke from the Laboratory for Fluorescence Dynamics, University of California, Irvine.

    在您下载 pygraphviz-version-python_version-win_version.whl 的文件夹中以管理员身份打开终端/powershell 并输入 @ 987654323@

    通过在终端/powershell 中打开并输入来测试安装

    蟒蛇

    导入 pygraphviz

如果没有错误返回,pygraphviz 已安装并正常运行

【讨论】:

【参考方案8】:

如果上述所有解决方案都失败了,您仍然可以直接从 pygraphviz 存储库中克隆

    访问:https://github.com/pygraphviz/pygraphviz.git 下载/克隆它 将文件夹放入C:\Users\\AppData\Local\Programs\Python\Python37-32\Lib\site-packages 将目录更改为“pygraphviz” 运行“python setup.py install”来构建和安装 (可选)运行“python setup_egg.py nosetests”来执行测试

来源:http://pygraphviz.github.io/documentation/pygraphviz-1.3.1/install.html

【讨论】:

在第 5 步中,出现错误:找不到 basetsd.h。有什么想法吗?

以上是关于如何在 Windows 10 64 位上安装 pygraphviz的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 10 64 位上安装 Erlang / RabbitMQ

Go在windows10 64位上安装

在 Windows 10 和 python 3.7 64 位上安装 fancyimpute 时出错

如何在 Windows 7 64 位上安装 PyOpenSSL?

如何签署我的驱动程序以使其安装在 Windows 7 64 位上?

无法在 Windows 10 上的 python 3.6 64 位上运行 pyqt5(没有 anaconda 没有 virtualenv)