2015-10-04 234 views
7

我在安裝PyGraphviz時遇到問題。 我在Mac OS X中使用了Anaconda。安裝PyGraphviz時出錯(Mac OS X,Anaconda)

錯誤消息指示某些原因,但我已經檢出它安裝在anaconda目錄中。

Sundongui-MacBook-Pro:site-packages sundong$ pwd 
/Users/sundong/anaconda/lib/python2.7/site-packages 
Sundongui-MacBook-Pro:site-packages sundong$ pip install graphviz --upgrade 
Requirement already up-to-date: graphviz in /Users/sundong/anaconda/lib/python2.7/site-packages 

根據錯誤消息,我該如何更改setup.py中的include_dirs和library_dirs變量?

以下是錯誤訊息,我滿足

Sundongui-MacBook-Pro:anaconda sundong$ pip install pygraphviz 
Collecting pygraphviz 
    Using cached pygraphviz-1.3.1.tar.gz 
Building wheels for collected packages: pygraphviz 
    Running setup.py bdist_wheel for pygraphviz 
    Complete output from command /Users/sundong/anaconda/bin/python -c "import setuptools;__file__='/private/var/folders/p6/rjy4tf353bzfy7gsl5jn_yvc0000gn/T/pip-build-bLb4AR/pygraphviz/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /var/folders/p6/rjy4tf353bzfy7gsl5jn_yvc0000gn/T/tmpwR_08Dpip-wheel-: 
    running bdist_wheel 
    running build 
    running build_py 
    creating build 
    creating build/lib.macosx-10.5-x86_64-2.7 
    creating build/lib.macosx-10.5-x86_64-2.7/pygraphviz 
    copying pygraphviz/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz 
    copying pygraphviz/agraph.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz 
    copying pygraphviz/graphviz.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz 
    copying pygraphviz/release.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz 
    copying pygraphviz/version.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz 
    creating build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_attribute_defaults.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_attributes.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_clear.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_drawing.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_edge_attributes.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_graph.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_html.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_layout.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_node_attributes.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_readwrite.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_string.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_subgraph.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    copying pygraphviz/tests/test_unicode.py -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz/tests 
    running egg_info 
    writing pygraphviz.egg-info/PKG-INFO 
    writing top-level names to pygraphviz.egg-info/top_level.txt 
    writing dependency_links to pygraphviz.egg-info/dependency_links.txt 
    warning: manifest_maker: standard file '-c' not found 

    reading manifest file 'pygraphviz.egg-info/SOURCES.txt' 
    reading manifest template 'MANIFEST.in' 
    warning: no previously-included files matching '*~' found anywhere in distribution 
    warning: no previously-included files matching '*.pyc' found anywhere in distribution 
    warning: no previously-included files matching '.svn' found anywhere in distribution 
    no previously-included directories found matching 'doc/build' 
    writing manifest file 'pygraphviz.egg-info/SOURCES.txt' 
    copying pygraphviz/graphviz.i -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz 
    copying pygraphviz/graphviz_wrap.c -> build/lib.macosx-10.5-x86_64-2.7/pygraphviz 
    running build_ext 
    building 'pygraphviz._graphviz' extension 
    creating build/temp.macosx-10.5-x86_64-2.7 
    creating build/temp.macosx-10.5-x86_64-2.7/pygraphviz 
    gcc -fno-strict-aliasing -I/Users/sundong/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/sundong/anaconda/include/python2.7 -c pygraphviz/graphviz_wrap.c -o build/temp.macosx-10.5-x86_64-2.7/pygraphviz/graphviz_wrap.o 
    pygraphviz/graphviz_wrap.c:2954:10: fatal error: 'graphviz/cgraph.h' file not found 
    #include "graphviz/cgraph.h" 
     ^
    1 error generated. 
    error: command 'gcc' failed with exit status 1 

    ---------------------------------------- 
    Failed building wheel for pygraphviz 
Failed to build pygraphviz 
Installing collected packages: pygraphviz 
    Running setup.py install for pygraphviz 
    Complete output from command /Users/sundong/anaconda/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/p6/rjy4tf353bzfy7gsl5jn_yvc0000gn/T/pip-build-bLb4AR/pygraphviz/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/p6/rjy4tf353bzfy7gsl5jn_yvc0000gn/T/pip-qgosXm-record/install-record.txt --single-version-externally-managed --compile: 
    running install 
    Trying pkg-config 
    Failed to find pkg-config 
    Trying dotneato-config 
    Failed to find dotneato-config 
    Failed to find dotneato-config 

    Your Graphviz installation could not be found. 

      1) You don't have Graphviz installed: 
       Install Graphviz (http://graphviz.org) 

      2) Your Graphviz package might incomplete. 
       Install the binary development subpackage (e.g. libgraphviz-dev or similar.) 

      3) You are using Windows 
       There are no PyGraphviz binary packages for Windows but you might be 
       able to build it from this source. See 
       http://networkx.lanl.gov/pygraphviz/reference/faq.html 

      If you think your installation is correct you will need to manually 
      change the include_dirs and library_dirs variables in setup.py to 
      point to the correct locations of your graphviz installation. 

      The current setting of library_dirs and include_dirs is: 
    library_dirs=None 
    include_dirs=None 

    error: Error locating graphviz. 

    ---------------------------------------- 
Command "/Users/sundong/anaconda/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/p6/rjy4tf353bzfy7gsl5jn_yvc0000gn/T/pip-build-bLb4AR/pygraphviz/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/p6/rjy4tf353bzfy7gsl5jn_yvc0000gn/T/pip-qgosXm-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/p6/rjy4tf353bzfy7gsl5jn_yvc0000gn/T/pip-build-bLb4AR/pygraphviz 

回答

1

嘗試以下方法(請確保已經安裝了蟒蛇的客戶端和更新):

conda install --channel https://conda.anaconda.org/garylschultz pygraphviz 
0

的Graphviz可以通過自制軟件安裝:brew install graphviz

然後做:

cd /usr/local/Cellar/graphviz/VERSION/include/graphviz 
mkdir graphviz 
cp cgraph.h graphviz/ 

最後:

pip install graphviz 

測試在內華達和炒菜鍋罰款。

0

假設你已經安裝graphviz的軟件:

this blog post描述使用下面的參數,同時試圖運行pip install pygraphviz

--install-option="--include-path=/usr/local/include/graphviz/" \ 
--install-option="--library-path=/usr/local/lib/graphviz" 

所以最後命令會是什麼樣子pip install pygraphviz --install-option="--include-path=/usr/local/include/graphviz/" --install-option="--library-path=/usr/local/lib/graphviz"

這樣做是明確指定的原始程序庫(graphviz)存在的python擴展使用。不幸的是,這似乎並沒有被自動識別。

使用Python 3.6在MacOS Sierra上工作