在Windows 10(64位)上安装Python 3.6

mwg9r5ms  于 2023-02-02  发布在  Python
关注(0)|答案(4)|浏览(156)

我正在尝试在Windows 10上安装pygraphviz。网上有很多解决这个问题的方法,但还没有一个适合我。我遇到的确切问题是通过jupyter笔记本--〉

[1] import networkx as nx
import pylab as plt
from networkx.drawing.nx_agraph import graphviz_layout

[2]G = nx.DiGraph()
G.add_node(1,level=1)
G.add_node(2,level=2)
G.add_node(3,level=2)
G.add_node(4,level=3)

G.add_edge(1,2)
G.add_edge(1,3)
G.add_edge(2,4)

nx.draw(G, pos=graphviz_layout(G), node_size=1600, cmap=plt.cm.Blues,
    node_color=range(len(G)),
    prog='dot')
plt.show()

在[2]之后,我收到以下错误:

ModuleNotFoundError                       Traceback (most recent call last)
C:\Users\name\Anaconda3\lib\site-packages\networkx\drawing\nx_agraph.py 
in 
pygraphviz_layout(G, prog, root, args)
    254     try:
--> 255         import pygraphviz
    256     except ImportError:

ModuleNotFoundError: No module named 'pygraphviz'

以及

ImportError                               Traceback (most recent call last)
<ipython-input-2-86a15892f0f0> in <module>()
  9 G.add_edge(2,4)
 10 
---> 11 nx.draw(G, pos=graphviz_layout(G), node_size=1600, cmap=plt.cm.Blues,
 12         node_color=range(len(G)),
 13         prog='dot')

C:\Users\name\Anaconda3\lib\site-packages\networkx\drawing\nx_agraph.py in graphviz_layout(G, prog, root, args)
226 
227     """
--> 228     return pygraphviz_layout(G,prog=prog,root=root,args=args)
229 
230 def pygraphviz_layout(G,prog='neato',root=None, args=''):

C:\Users\name\Anaconda3\lib\site-packages\networkx\drawing\nx_agraph.py in pygraphviz_layout(G, prog, root, args)
256     except ImportError:
257         raise ImportError('requires pygraphviz ',
--> 258                           'http://pygraphviz.github.io/')
259     if root is not None:
260         args+="-Groot=%s"%root

ImportError: ('requires pygraphviz ', 'http://pygraphviz.github.io/')

"这是我试图解决的问题"
(1)常规管道安装:“pip install pyraphviz”这是我在最后得到的错误。* 编辑 * 即使我以管理员身份运行cmd,我也得到同样的错误。

Command "C:\Users\name\Anaconda3\python.exe -u -c "import setuptools, 
tokenize;__file__='C:\\Users\\name~1\\AppData\\Local\\Temp\\pip-build-
n81lykqs\\pygraphviz\\setup.py';f=getattr(tokenize, 'open', open)
(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, 
__file__, 'exec'))" install --record C:\Users\name~1\AppData\Local\Temp\pip-
b3jz1lk5-record\install-record.txt --single-version-externally-managed --
compile" failed with error code 1 in C:\Users\name~1\AppData\Local\Temp\pip-
build-n81lykqs\pygraphviz\

(2)下载并安装graphviz-2.38.msi,然后下载两个64位版本的wheel,这就是结果。

C:\Users\name\Anaconda3>pip install pygraphviz-1.3.1-cp34-none-
win_amd64.whl
pygraphviz-1.3.1-cp34-none-win_amd64.whl is not a supported wheel on this 
platform.

C:\Users\name\Anaconda3>pip install pygraphviz-1.3.1-cp27-none-
win_amd64.whl
pygraphviz-1.3.1-cp27-none-win_amd64.whl is not a supported wheel on this 
platform.

我想尝试,但不确定如何正确操作:

编辑setup.py。我读过很多关于人们在改变路径时寻找解决方案的文章,但我真的不知道如何做到这一点。这个方法看起来非常复杂。
谢谢你的任何帮助/见解!

pw9qyyiw

pw9qyyiw1#

更新了 * repo * [GitHub]: CristiFati/Prebuilt-Binaries - (master) Prebuilt-Binaries/PyGraphviz/v1.5**:

  • 使用官方 * Graphviz 2.42.2 * 源代码
    **. whl * s( win_amd64 win32 )适用于当前支持的 * Python * 版本
  • 可能会添加较新的版本(向上检查一级)

对于 * Python 2.7 *,它们已经构建:[UCI. LFD]:Python扩展包的非官方Windows二进制文件-PyGraphviz,Graphviz图形布局和可视化包的接口。

    • 备注**:
  • 在一些(我猜,大多数)情况下,在上运行 * PyGraphviz * 的系统上需要安装*Graphviz ,因为 * PyGraphviz * 使用 * Graphviz * 的一些工具(可执行文件)。它们可以下载或生成(在调用时,它们不必与 * PyGraphviz * 体系结构( 032位 PC032 )、 064位 PC064 *))匹配)。

更新:我还在上述存储库中添加了 * Graphviz 2.42.2 * 构建版本(* PC032 *-因为它可以在 * PC064 * 和 * PC032Win * 上运行)

任何想了解构建过程更多细节的人,请继续阅读!

1.简介

差不多2年过去了,这个问题(嗯,不完全像问题中的那样)仍然存在。
首先,我想强调一下这两种软件包之间的区别:

  • [PyPI]:pygraphviz-下载文件:就是那个
  • [PyPI]:graphviz-下载文件:(较简单的)名字相似的

在 * Anaconda * 环境中,[SO]: Installing PyGraphviz on Windows 10 64-bit, Python 3.6 (@TomHanks's answer)工作完美

  • PyGraphwiz * 只能下载一个归档文件(在本例中为 . zip ),这意味着它包含( C / C++)个源代码。

关于名称中包含***cp34-none-win_amd64**这样的内容的包(. whl * s)的几句话(查看[SO]: What does version name 'cp27' or 'cp35' mean in Python? (@WayneWerner's answer)了解详细信息):

  • 它们包含二进制文件(*. so * 或 *. pyd . dll *)),这些文件链接到特定的 * Python * 库
  • 它们只适用于 * Python * 版本(因此 * 34不适用于 * Python3.6**)
  • 即使有人"智取"* PIP * 并设法安装了这样一个包(实际上,这并不难),它也会在导入时失败,或者更糟的是,它很可能会崩溃 * Python *

现在,许多软件包都为运行在各种 * OS * 上的最常见 * Python * 版本预先构建了二进制文件(例如[PyPI]:mysql-connector-python-download files),但也有很多没有,而且这些文件只包含源代码。不幸的是,* PyGraphviz * 属于第二类。对于后者,pip install将:

  • 下载源代码
  • 在本地构建源
  • 需要 * C C++*)编译器**,通常为:
    • GCC * 在 * Nix * 上
    • Win * 上的 * VStudio *
  • 它们可能具有其他依赖项
  • 安装构建的工件(二进制文件和 . py(c) 文件)

作为旁注:* * pip -v ...为当前命令启用了 * verbose * 模式,这在遇到安装错误时非常方便**。
回到我们的问题:* Python 3.6 * 需要 * VStudio2015*([Python.Wiki]: WindowsCompilers)。
这是一个非常广阔的主题,我涵盖了一些部分:

我已经安装了 * VStudio 2015 Community *(以及许多其他版本),您也应该安装它,它是免费的([MS.VStudio]: Still want an older version?)。

在继续之前:

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811]> "e:\Work\Dev\VEnvs\py_064_03.06.08_test0\Scripts\python.exe" -c "import pygraphviz"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'pygraphviz'

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811]> dir /b
other
src

这是我的*顶级目录***,任何源代码都下载到 * src目录 *,二进制文件将放置在 * bin**目录 *。

2.构建版本 * 图形可视化 *

在开始之前,我想提一下我非常依赖Cygwin(您不必这样做,还有其他变体(* MSYS2 *)),并且我的一些工具安装在那里,所以我将在 * Cygwin * 和 * Cmd * 终端之间交替使用(这可能会引起混淆)。
[Graphviz]: Graphviz Build Instructions for Windows声明:
对于在Windows上构建:

  • (Graphviz版本≥ 2.41)*

首先,在仓库的根目录下,执行git子模块update--init,这将下载所有的子模块,这些子模块主要是Windows构建的依赖项,接下来,将windows\dependencies\graphviz-build-utilities目录添加到PATH中(并重新启动VisualStudio或在此之后执行msbuild时使用的提示符)。此文件夹包含工具Bison、Flex和SED(以及未来的补充),带有经过测试的版本。如果一切顺利,依赖项现在已经设置好了,你可以构建Graphviz了。
首先,我们需要下载所有内容:

[cfati@cfati-5510-0:/cygdrive/e/Work/Dev/StackOverflow/q045093811/src/graphviz]> ~/sopr.sh
### Set shorter prompt to better fit when pasted in StackOverflow (or other) pages ###

[064bit prompt]> git clone https://gitlab.com/graphviz/graphviz.git .
Cloning into '.'...
remote: Enumerating objects: 71728, done.
remote: Counting objects: 100% (71728/71728), done.
remote: Compressing objects: 100% (19331/19331), done.
remote: Total 71728 (delta 52200), reused 71681 (delta 52157)
Receiving objects: 100% (71728/71728), 163.79 MiB | 480.00 KiB/s, done.
Resolving deltas: 100% (52200/52200), done.
Checking out files: 100% (3870/3870), done.
[064bit prompt]>
[064bit prompt]> git submodule update --init
Submodule 'dependencies/criterion' (https://github.com/Snaipe/Criterion.git) registered for path 'dependencies/criterion'
Submodule 'windows/dependencies/graphviz-build-utilities' (https://github.com/ErwinJanssen/graphviz-build-utilities.git) registered for path 'windows/dependencies/graphviz-build-utilities'
Submodule 'windows/dependencies/libraries' (https://github.com/ErwinJanssen/graphviz-windows-dependencies.git) registered for path 'windows/dependencies/libraries'
Cloning into '/cygdrive/e/Work/Dev/StackOverflow/q045093811/src/graphviz/dependencies/criterion'...
Cloning into '/cygdrive/e/Work/Dev/StackOverflow/q045093811/src/graphviz/windows/dependencies/graphviz-build-utilities'...
Cloning into '/cygdrive/e/Work/Dev/StackOverflow/q045093811/src/graphviz/windows/dependencies/libraries'...
Submodule path 'dependencies/criterion': checked out '301d143ea42c024f22b673b69c72a4cb3c8d151f'
Submodule path 'windows/dependencies/graphviz-build-utilities': checked out '050fff84ce195e0740878748760fd801eeb07b23'
Submodule path 'windows/dependencies/libraries': checked out '141d3a21be904fa8dc2ae3ed01d36684db07a35d'
[064bit prompt]>
[064bit prompt]> git show head
commit 89292b5945933b1501293c04894ed9cf886241be (HEAD -> master, origin/master, origin/HEAD)
Merge: 429d43615 97811bd35
Author: Stephen C North <scnorth@gmail.com>
Date:   Mon Feb 4 08:09:40 2019 -0500

    Merge branch 'wasbridge/graphviz-master' into HEAD

[064bit prompt]> git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

最后你会得到一个 * dir * 文件,其中包含了*~320 MiB * 的内容,* dir * 文件包含了一个 * graphviz. sln * 文件,这是一个 * VStudio(2015)* 解决方案文件,其中包含了***63个***项目。

看看 * Anaconda * 或 * Python 2.7PyGraphviz*(内置)包,它只依赖于cgraph. dll**,而后者又依赖于cdt. dll***,因此只有这两个项目与我们相关。注意,这两个项目可能不需要所有的 * Git * 子模块(因此 * dir * 可能会被删减),但我没有进一步研究。
遗憾的是,这些项目只配置了 * 032bit Win32 * 平台(
pc032 ))。 064bit * 必须是
手动添加的**(我是从 * VStudio IDE * 中添加的-并且在我参考的一个答案中也描述了这个过程)。保存项目后,它们会显示为被 * Git * 修改过:

[064bit prompt]> git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)

        modified:   lib/cdt/cdt.vcxproj
        modified:   lib/cgraph/cgraph.vcxproj
        modified:   windows/dependencies/graphviz-build-utilities (modified content)

no changes added to commit (use "git add" and/or "git commit -a")

第三项是因为我需要重置2个可执行文件的一些安全权限(在构建 * cgraph * 时使用):

    • 野牛. exe *
    • Flex.可执行文件 *

未正确设置(很可能是因为 * Cygwin *)。
您可以从 * IDE * 构建这两个项目,但我选择了命令行([MS.Docs]: MSBuild command-line reference),因为我发现它更灵活:

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811]> sopr.bat
### Set shorter prompt to better fit when pasted in StackOverflow (or other) pages ###

[prompt]> "c:\Install\x86\Microsoft\Visual Studio Community\2015\vc\vcvarsall.bat" x64

[prompt]> set PATH=%PATH%;%CD%\src\graphviz\windows\dependencies\graphviz-build-utilities

[prompt]> msbuild src\graphviz\lib\cdt\cdt.vcxproj /t:Rebuild /p:Platform=x64;Configuration=Release;SolutionDir=%CD%\src\graphviz\;OutDir=%CD%\bin\Win\dynamic\064\UCRTv140\md\Release\graphviz\ >build_cdt_064.txt 2>&1

[prompt]> echo %errorlevel%
0

[prompt]> dir /b
bin
build_cdt.txt
other
src

[prompt]> msbuild src\graphviz\lib\cgraph\cgraph.vcxproj /t:Rebuild /p:Platform=x64;Configuration=Release;SolutionDir=%CD%\src\graphviz\;OutDir=%CD%\bin\Win\dynamic\064\UCRTv140\md\Release\graphviz\ >build_cgraph_064.txt 2>&1

[prompt]> echo %errorlevel%
0

[prompt]> dir /b "bin\Win\dynamic\064\UCRTv140\md\Release\graphviz"
cdt.dll
cdt.dll.lastcodeanalysissucceeded
cdt.exp
cdt.lib
cgraph.dll
cgraph.dll.lastcodeanalysissucceeded
cgraph.exp
cgraph.lib

因此,我们拥有继续运行所需的一切(2 *. lib * 和2 *. dll * 文件)。

3.构建版本 * PyGraphviz *

还需要对 * Graphviz * 进行一次调整(可能是作为另一个项目的一部分完成的-一个 * 安装 * 步骤):准备头文件:

[prompt]> mkdir include\graphviz

[prompt]> copy src\graphviz\lib\cdt\cdt.h include\graphviz
        1 file(s) copied.

[prompt]> copy src\graphviz\lib\cgraph\cgraph.h include\graphviz
        1 file(s) copied.

不幸的是,* PyGraphviz*没有构建 * OOTB *,因为[GitHub]: pygraphviz/pygraphviz - Python 3 support。要解决这个问题,必须应用[GitHub]: eendebakpt/pygraphviz - Workaround for PyIOBase_Type for Python2 on win。我修改了它以使用当前的源代码(因为它不工作 * OOTB *,以及:X()for * graphviz_wrap. cpp * only

  • pygraphviz-1.5-全苯丙氨酸碱基_b85d12ac22d39063f7dbcc396e825c563431e352.修补程序 *:
--- pygraphviz/graphviz_wrap.c.orig 2018-09-10 16:07:12.000000000 +0300
+++ pygraphviz/graphviz_wrap.c  2019-02-26 18:05:20.281741400 +0200
@@ -2988,7 +2988,18 @@
 
 
 #if PY_VERSION_HEX >= 0x03000000
-extern PyTypeObject PyIOBase_Type;
+static PyObject *PyIOBase_TypeObj;
+
+static int init_file_emulator(void)
+{
+  PyObject *io = PyImport_ImportModule("_io");
+  if (io == NULL)
+    return -1;
+  PyIOBase_TypeObj = PyObject_GetAttrString(io, "_IOBase");
+  if (PyIOBase_TypeObj == NULL)
+    return -1;
+  return 0;
+}
 #endif
 
 
@@ -3449,7 +3460,7 @@
   {
 #if PY_VERSION_HEX >= 0x03000000 || defined(PYPY_VERSION)
 #if !defined(PYPY_VERSION)
-    if (!PyObject_IsInstance(obj0, (PyObject *)&PyIOBase_Type)) {
+    if (!PyObject_IsInstance(obj0, PyIOBase_TypeObj)) {
       PyErr_SetString(PyExc_TypeError, "not a file handle");
       return NULL;
     }
@@ -3523,7 +3534,7 @@
   {
 #if PY_VERSION_HEX >= 0x03000000 || defined(PYPY_VERSION)
 #if !defined(PYPY_VERSION)
-    if (!PyObject_IsInstance(obj1, (PyObject *)&PyIOBase_Type)) {
+    if (!PyObject_IsInstance(obj1, PyIOBase_TypeObj)) {
       PyErr_SetString(PyExc_TypeError, "not a file handle");
       return NULL;
     }
@@ -6051,6 +6062,12 @@
   
   SWIG_InstallConstants(d,swig_const_table);
   
+#if PY_VERSION_HEX >= 0x03000000
+  if (init_file_emulator() < 0) {
+    return NULL;
+  }
+#endif
+
   PyDict_SetItemString(md,(char*)"cvar", SWIG_globals());
   SWIG_addvarlink(SWIG_globals(),(char*)"Agdirected",Swig_var_Agdirected_get, Swig_var_Agdirected_set);
   SWIG_addvarlink(SWIG_globals(),(char*)"Agstrictdirected",Swig_var_Agstrictdirected_get, Swig_var_Agstrictdirected_set);

这是一个 * diff patch )。请参阅[SO]: Run/Debug a Django application's UnitTests from the mouse right click context menu in PyCharm Community Edition? (@CristiFati's answer)Patching * UTRunner部分)了解如何在 * Win * 上应用补丁(基本上,以**one "+"符号开头的每一行都将进入,以one "-"**符号开头的每一行都将退出)。

[prompt]> :: Restore the original prompt as cwd is important
[prompt]> exit

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811]> set _TOP_DIR=%CD%

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811]> pushd src\pygraphviz\pygraphviz-pygraphviz-1.5

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811\src\pygraphviz\pygraphviz-pygraphviz-1.5]> pushd pygraphviz && "c:\Install\x64\Cygwin\Cygwin\AllVers\bin\patch.exe" -p 1 -buNi ..\pygraphviz-1.5-all-pyiobase_b85d12ac22d39063f7dbcc396e825c563431e352.patch && popd
patching file graphviz_wrap.c

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811\src\pygraphviz\pygraphviz-pygraphviz-1.5]> echo %errorlevel%
0

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811\src\pygraphviz\pygraphviz-pygraphviz-1.5]> "e:\Work\Dev\VEnvs\py_064_03.06.08_test0\Scripts\python.exe" setup.py install --include-path=%_TOP_DIR%\include --library-path=%_TOP_DIR%\bin\Win\dynamic\064\UCRTv140\md\Release\graphviz >%_TOP_DIR%\install_pygraphviz_064.txt 2>&1

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811\src\pygraphviz\pygraphviz-pygraphviz-1.5]> echo %errorlevel%
0

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811\src\pygraphviz\pygraphviz-pygraphviz-1.5]> popd

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811]> set PATH=%PATH%;%CD%\bin\Win\dynamic\064\UCRTv140\md\Release\graphviz

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q045093811]> "e:\Work\Dev\VEnvs\py_064_03.06.08_test0\Scripts\python.exe" -c "import pygraphviz;print(dir(pygraphviz), \"\n\", pygraphviz.graphviz._graphviz)"
['AGraph', 'Attribute', 'DotError', 'Edge', 'ItemAttribute', 'Node', '__all__', '__author__', '__builtins__', '__cached__', '__date__', '__doc__', '__file__', '__license__', '__loader__', '__name__', '__package__', '__path__', '__revision__', '__spec__', '__version__', 'absolute_import', 'agraph', 'division', 'graphviz', 'print_function', 'release', 'test', 'tests', 'version']
 <module '_graphviz' (e:\Work\Dev\VEnvs\py_064_03.06.08_test0\lib\site-packages\pygraphviz\_graphviz.cp36-win_amd64.pyd)>

如图所示,模块已成功导入。
注意,在导入模块时,2个 . dll * 依赖项(来自上一节)必须可用,因此它们的 * dir * 被添加到 * %PATH % 中。
当然,这只是一个(蹩脚的)变通办法(* gainarie ),这不应该发生在每次必须使用软件包的时候。
我不知道(还)如何指示 * setup. py * 在build/install * dir * 包中复制它们,所以作为一种替代方法(也是变通方法),必须手动将它们复制到 * PyGraphviz * install * dir _graphviz.cp36-win_amd64.pyd旁边,在我的例子中是: "e:\工作\开发\虚拟环境\py_064_03. 06. 08_测试0\库\站点软件包\pyraphviz"
)。

4.快捷方式

由于整个过程非常复杂,需要大量的手动干预和修改,我设法构建了(. whl )包(对 * setup. py * 进行了少量修改)。
我不知道一个简单的方法来使它公开,所以(虽然这可能不是最佳实践,)我上传到
[GitHub]: CristiFati/Prebuilt-Binaries - (master) Prebuilt-Binaries/PyGraphviz/v1.5/pygraphviz-1.5-cp36-cp36m-win_amd64.whl**。

    • 备注**:
  • 以下是**关于 * PyGraphviz * 的内容,但它可以推广并应用于任何(. whl )包
  • 此外,GitHub * 仓库将被用作一个例子,但(再次)它可以应用于(. whl * s in)任何仓库,包括[PyPI]: The Python Package Index(我没有使用 * PyGraphviz *,因为它没有二进制文件,但例如[PyPI]:numpy 1.17.0-下载文件)

您可以本地下载它(* 例如 * in***C:\Path\to\downloaded***),然后安装它,如下所示(这是一种方法,请检查[SO]: How to install a package for a specific Python version on Windows 10? (@CristiFati's answer)以获取替代方法):

"C:\Path\to\Python-3.6-amd64\python.exe" -m pip install "C:\Path\to\downloaded\pygraphviz-1.5-cp36-cp36m-win_amd64.whl"

上面的 . whl * 位于其他几个 . whl * 的旁边,它们适用于不同的 * Python * 版本(当 . whl * 包含 . dll * s(. pyd * s)或 . so * s时会发生这种情况(在 * Nix * 上)链接到特定的 * Python * 库)。要匹配您的 * Python * 版本,请在 . whl * 名称中搜索cp${PYTHON_VERSION_MAJOR} ${PYTHON_VERSION_MINOR}。在目前的情况下,对应于 * Python3.6的是 * cp36,但是同样的原理也适用于其他 * Python * 版本( cp37 cp38 cp39 cp310 cp311 ,......)。
架构也是如此(
win_amd64 / win32 x86_64 / i686 * 在 * Nix * 上))。

    • 注意**:它也适用于 * Anaconda * 环境!
wmomyfyw

wmomyfyw2#

投票最多的答案似乎是安装graphviz,而不是pygraphviz。
如果您使用的是conda环境,可以尝试使用以下通道:
conda install graphviz pygraphviz -c alubbock
我用networkx 2.1试过了,效果很好。

h22fl7wq

h22fl7wq3#

以下是对我有效的方法:

Win 7 AMD64

  • 安装MSFT C++ compiler
  • 安装Anaconda for Win AMD64, Python3
  • 安装graphviz for Win
  • C:\Program Files (x86)\Graphviz2.38\bin添加到PATH环境变量中。
  • 下载pygraphviz-1.3.1-cp34-无-win_amd64. whl.
  • 使用Python 3.4版创建一个Conda环境:conda create --name digraphs python=3.4 anaconda.
  • 进入环境:activate digraphs.
  • 使用pip安装pygraphviz:pip install pygraphviz-1.3.1-cp34-none-win_amd64.whl.
  • 运行示例:python ./gviz_simple.py.
  • 退出环境:deactivate

我在github上放了一些东西。它很乱,使用风险自担:https://github.com/darkhipo/Easy-Digraph-Draw

owfi6suc

owfi6suc4#

在Windows 10 64位和Python 3.6上解决了这个问题。

    • 步骤:**

1.从graphiviz站点下载Graphviz for windows
1.在Windows路径中添加Graphviz bin路径C:\Program Files (x86)\Graphviz2.38\bin
1.* * 关闭并重新打开终端,以便识别路径更改。**
1.下载graphviz python 3.6 wheel。
1.安装graphviz滚轮。
pip install graphviz-0.8.3-py2.py3-none-any.whl
1.成交!

相关问题