避坑指南:Windows下pygraphviz安装全攻略

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

图片

为什么需要pygraphviz

pygraphviz是Python中处理Graphviz图形的强大工具,广泛应用于网络可视化、流程图绘制等领域,比如langchain中的LCEL构造的复杂流图也可以通过其进行可视化展示。但由于其依赖Graphviz C库,安装过程常会遇到各种问题。本文将带你避开这些坑,顺利完成安装。

本文来自「大千AI助手」技术实战系列,专注用真话讲技术,拒绝过度包装。

往期文章推荐:

pygraphviz install

  • • 本文讲解说明 pygraphviz==1.14 的安装,以及其依赖的graphviz Graphviz 2.46.0的安装

  • • 核心安装逻辑就是通过各种方式设置 pygraphviz 的 setup.py 脚本的运行参数

    • • 指定 Graphviz 的 头文件 + 库文件 的路径

  • • 默认安装可能会报错

      ..........
      graphviz_wrap.c
      pygraphviz/graphviz_wrap.c(9): warning C4005: “SWIG_PYTHON_STRICT_BYTE_CHAR”: 宏重定义
      pygraphviz/graphviz_wrap.c(9): note: 之前在命令行上声明的“SWIG_PYTHON_STRICT_BYTE_CHAR”
      pygraphviz/graphviz_wrap.c(3023): fatal error C1083: 无法打开包括文件: “graphviz/cgraph.h”: No such file or directory
      error: command 'D:\\visualstudio\\community2022\\VC\\Tools\\MSVC\\14.43.34808\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pygraphviz
Failed to build pygraphviz
ERROR: Failed to build installable wheels for some pyproject.toml based projects (pygraphviz)

这个错误表明编译器找不到Graphviz的头文件(cgraph.h),这是pygraphviz安装失败的常见原因。我们需要手动指定Graphviz的安装路径。

依赖前提

  • • 已经安装好对应版本的Python,可参考 https://www.python.org/downloads/

  • • 已经安装好需要的Visual C/C++,可参考 https://visualstudio.microsoft.com/visual-cpp-build-tools/

Win10手动下载安装

  • • Step1.下载并安装graphviz

    • • 下载地址 https://gitlab.com/graphviz/graphviz/-/package_files/6164164/download

    • • 下载的是exe文件,所以双击按提示安装即可,但是需要记住安装路径,后续要用到

      • • 如果安装过程中自己没有设置安装路径,一般默认的安装路径为 C:\Program Files\Graphviz

  • • Step2.安装pygraphviz

    • • 如果是uv管理的环境, 仅仅通过命令 uv add pygraphviz 会失败, 提示找不到graphviz的头文件和库文件, 需要加参数指定这些文件的路径

    • • 假设Step1的安装路径为默认安装路径,也就是C:\Program Files\Graphviz, 那么uv add的完整命令应该为

# windows的 **powershell** 里执行 (换行连接符为 `)
uv add -C="--global-option=build_ext" `
  -C="--global-option=-IC:\Program Files\Graphviz\include" `
  -C="--global-option=-LC:\Program Files\Graphviz\lib" pygraphviz==1.14

# windows的 **cmd** 里执行 (换行连接符为 ^)
uv add -C="--global-option=build_ext" ^
  -C="--global-option=-IC:\Program Files\Graphviz\include" ^
  -C="--global-option=-LC:\Program Files\Graphviz\lib" pygraphviz==1.14
  • • 如果是pip安装, 仅仅通过命令 pip install pygraphviz 会失败, 提示找不到graphviz的头文件和库文件, 需要加参数指定这些文件的路径

  • • 假设Step1的安装路径为默认安装路径,也就是C:\Program Files\Graphviz, 那么pip install的完整命令应该为

# windows的 **powershell** 里执行 (换行连接符为 `)
pip install --config-settings="--global-option=build_ext" `
  --config-settings="--global-option=-IC:\Program Files\Graphviz\include" `
  --config-settings="--global-option=-LC:\Program Files\Graphviz\lib" pygraphviz==1.14

# windows的 **cmd** 里执行 (换行连接符为 ^)
pip install --config-settings="--global-option=build_ext" ^
  --config-settings="--global-option=-IC:\Program Files\Graphviz\include" ^
  --config-settings="--global-option=-LC:\Program Files\Graphviz\lib" pygraphviz==1.14

Win10使用chocolatey安装

  • • Step1.安装graphviz - choco install graphviz

  • • Step2.安装pygraphviz

    • • 如果是uv管理的环境, 仅仅通过命令 uv add pygraphviz 会失败, 提示找不到graphviz的头文件和库文件, 需要加参数指定这些文件的路径

    • • 假设Step1的安装路径为默认安装路径,也就是C:\Program Files\Graphviz, 那么uv add的完整命令应该为

# windows的 **powershell** 里执行 (换行连接符为 `)
uv add -C="--global-option=build_ext" `
  -C="--global-option=-IC:\Program Files\Graphviz\include" `
  -C="--global-option=-LC:\Program Files\Graphviz\lib" pygraphviz==1.14

# windows的 **cmd** 里执行 (换行连接符为 ^)
uv add -C="--global-option=build_ext" ^
  -C="--global-option=-IC:\Program Files\Graphviz\include" ^
  -C="--global-option=-LC:\Program Files\Graphviz\lib" pygraphviz==1.14
  • • 如果是pip安装, 仅仅通过命令 pip install pygraphviz 会失败, 提示找不到graphviz的头文件和库文件, 需要加参数指定这些文件的路径

  • • 假设Step1的安装路径为默认安装路径,也就是C:\Program Files\Graphviz, 那么pip install的完整命令应该为

# windows的 **powershell** 里执行 (换行连接符为 `)
pip install --config-settings="--global-option=build_ext" `
  --config-settings="--global-option=-IC:\Program Files\Graphviz\include" `
  --config-settings="--global-option=-LC:\Program Files\Graphviz\lib" pygraphviz==1.14

# windows的 **cmd** 里执行 (换行连接符为 ^)
pip install --config-settings="--global-option=build_ext" ^
  --config-settings="--global-option=-IC:\Program Files\Graphviz\include" ^
  --config-settings="--global-option=-LC:\Program Files\Graphviz\lib" pygraphviz==1.14

验证安装

安装完成后,可以运行 python -c "import pygraphviz; print(pygraphviz.__version__)" 来验证是否安装成功。

参考

  • • https://github.com/pygraphviz/pygraphviz/blob/main/INSTALL.txt

  • • https://pygraphviz.github.io/documentation/stable/install.html

  • • https://gitlab.com/graphviz/graphviz/-/package_files/6164164/download

  • • https://www.python.org/downloads/

  • • https://visualstudio.microsoft.com/visual-cpp-build-tools/


本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值