【Python】安裝Pygraphviz的正確姿勢

1. 前言

Pygraphviz 是 graphviz 的一個 Python API 版本。我出於一些私人的需要,於是嘗試着下載這個庫使用一下,結果發現這個庫的安裝過程簡直到處都是坑。

Part2 是我爲自己被這麼一個庫坑害了一個下午的時間而發的牢騷。不想看的同學直接跳到 Part3就行。

2. 錯誤的安裝姿勢

2.1 一坑:pip install pygraphviz

用這種方法你會得到一個:

 pygraphviz/graphviz_wrap.c(2987): fatal error C1083: 無法打開包括文件: “graphviz/cgraph.h”:

2.2 二坑:下載 whl 安裝

上一步遇到困難的同學可能會想到直接下載whl文件,於是你們會來到這個網站:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz
然後下載對應的文件,想嘗試本地安裝。

不幸的是,目前官方公開的版本里最高只編譯到 Py 3.4版本。
在這裏插入圖片描述
於是你們辛辛苦苦下載下來,然後手動安裝,最後得到的結果是:
在這裏插入圖片描述

2.3 三坑:source 安裝

有些同學更機靈,想到可以直接把源代碼下載下來安裝。就像這樣:

python setup.py install

然後你就遇到了我們的老朋友:

 pygraphviz/graphviz_wrap.c(2987): fatal error C1083: 無法打開包括文件: “graphviz/cgraph.h”:

當你解決這個問題,你會遇到 “無法打開輸入文件“cdt.lib”;解決了 lib 問題,又會遇到“LNK 2001”。。。我就是在這無盡的噁心人的bug當中浪費了一個下午。

所以爲了防止後來的人也像我一樣浪費時間。我就直接告訴你們:不要費盡心思的找問題了,這根本不是你們的問題,而是這個庫本身就有問題。

3. 正確的安裝姿勢

我在搜索資料的時候,無意當中發現了一位大佬,對於這個庫的安裝問題進行了長文分析:https://www.cnblogs.com/xiaojieshisilang/p/9495295.html
在結局部分,我看到了一句很有意思的話。
在這裏插入圖片描述
不管是不是故意的,有一點是肯定的——那就是這個庫的作者非常的坑,非常非常坑。實際上這個庫基本上處於一個孤兒狀態,我特意跑到github上的issue裏面看了看。一大堆人都在問安裝問題,然而官方根本就沒出來回答過。可以說如果你想通過正常的方法來安裝,很困難。

好在我們有一位熱心的大佬在自己的github上傳了一些這個庫的編譯版本。

傳送門

截止到我寫博文的這個時間,也就是2020年3月2日。已經更新到3.8版本了。
在這裏插入圖片描述

我用的是 py 3.7,下載下來,執行:

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

搞定!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章