简体   繁体   中英

Enthought Canopy install of igraph on OS X

OS X: 10.9.3 Canopy: 1.4.0 (64 bit)

I have unsuccessfully tried to install python-igraph using a number of methods. Below are two the latest attempts. Any suggestions would be greatly appreciated.

First, using setup.py from within Canopy:

%cd "/Users/user/Downloads/python-igraph-0.7"
/Users/user/Downloads/python-igraph-0.7
run -i setup.py install
running install
running bdist_egg
running egg_info
writing python_igraph.egg-info/PKG-INFO
writing top-level names to python_igraph.egg-info/top_level.txt
writing dependency_links to python_igraph.egg-info/dependency_links.txt
reading manifest file 'python_igraph.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'python_igraph.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.6-x86_64/egg
running install_lib
running build_py
running build_ext
Cannot find the C core of igraph on this system using pkg-config.
We will now try to download and compile the C core from scratch.
Version number of the C core: 0.7
We will also try: 0.7.0

Version 0.7 of the C core of igraph is not found among the nightly builds.
Use the --c-core-version switch to try a different version.

Could not download and compile the C core of igraph.

WARNING: we were not able to detect where igraph is installed on
your machine (if it is installed at all). We will use the fallback
library and include pathss hardcoded in setup.py and hope that the
C core of igraph is installed there.

If the compilation fails and you are sure that igraph is installed
on your machine, adjust the following two variables in setup.py
accordingly and try again:

- LIBIGRAPH_FALLBACK_INCLUDE_DIRS
- LIBIGRAPH_FALLBACK_LIBRARY_DIRS

Build type: dynamic extension                                    
Include path: /usr/include/igraph /usr/local/include/igraph
Library path: 
Linked dynamic libraries: igraph
Linked static libraries: 
Extra compiler options: 
Extra linker options: 
building 'igraph._igraph' extension
gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -DNDEBUG -g -O3 -arch x86_64 -I/usr/include/igraph -I/usr/local/include/igraph -I../../build/include -I../../include -I/usr/local/include/igraph -I/usr/include/igraph -I/Applications/Canopy.app/appdata/canopy-1.4.0.1938.macosx-x86_64/Canopy.app/Contents/include/python2.7 -c src/arpackobject.c -o build/temp.macosx-10.6-x86_64-2.7/src/arpackobject.o
An exception has occurred, use %tb to see the full traceback.

SystemExit: error: command 'gcc' failed with exit status 1

Second, from the command line: python setup.py install

curiosity:python-igraph-0.7 user$ sudo python setup.py install
Password:
running install
running bdist_egg
running egg_info
writing python_igraph.egg-info/PKG-INFO
writing top-level names to python_igraph.egg-info/top_level.txt
writing dependency_links to python_igraph.egg-info/dependency_links.txt
reading manifest file 'python_igraph.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'python_igraph.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.6-x86_64/egg
running install_lib
running build_py
running build_ext
Build type: dynamic extension
Include path: /opt/local/include/igraph
Library path: /opt/local/lib
Linked dynamic libraries: igraph
Linked static libraries: 
Extra compiler options: 
Extra linker options: 
building 'igraph._igraph' extension
gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -DNDEBUG -g -O3 -arch x86_64 -I/opt/local/include/igraph -I../../build/include -I../../include -I/usr/local/include/igraph -I/usr/include/igraph -I/Applications/Canopy.app/appdata/canopy-1.4.0.1938.macosx-x86_64/Canopy.app/Contents/include/python2.7 -c src/arpackobject.c -o build/temp.macosx-10.6-x86_64-2.7/src/arpackobject.o
gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -DNDEBUG -g -O3 -arch x86_64 -I/opt/local/include/igraph -I../../build/include -I../../include -I/usr/local/include/igraph -I/usr/include/igraph -I/Applications/Canopy.app/appdata/canopy-1.4.0.1938.macosx-x86_64/Canopy.app/Contents/include/python2.7 -c src/attributes.c -o build/temp.macosx-10.6-x86_64-2.7/src/attributes.o
In file included from src/attributes.c:26:
src/convert.h:64:59: error: unknown type name 'igraph_pagerank_algo_t'
int igraphmodule_PyObject_to_pagerank_algo_t(PyObject *o, igraph_pagerank_algo_t *result);
                                                          ^
src/attributes.c:307:12: error: use of undeclared identifier 'IGRAPH_ATTRIBUTE_BOOLEAN'
      case IGRAPH_ATTRIBUTE_BOOLEAN:
           ^
src/attributes.c:455:14: error: use of undeclared identifier 'IGRAPH_ATTRIBUTE_BOOLEAN'
        case IGRAPH_ATTRIBUTE_BOOLEAN:
             ^
src/attributes.c:514:14: error: use of undeclared identifier 'IGRAPH_ATTRIBUTE_BOOLEAN'
        case IGRAPH_ATTRIBUTE_BOOLEAN:
             ^
src/attributes.c:638:14: error: use of undeclared identifier 'IGRAPH_ATTRIBUTE_BOOLEAN'
        case IGRAPH_ATTRIBUTE_BOOLEAN:
             ^
src/attributes.c:699:14: error: use of undeclared identifier 'IGRAPH_ATTRIBUTE_BOOLEAN'
        case IGRAPH_ATTRIBUTE_BOOLEAN:
             ^
src/attributes.c:1367:27: error: use of undeclared identifier 'IGRAPH_ATTRIBUTE_BOOLEAN'
          VECTOR(*t)[j] = IGRAPH_ATTRIBUTE_BOOLEAN;
                          ^
src/attributes.c:1457:13: error: use of undeclared identifier 'IGRAPH_ATTRIBUTE_BOOLEAN'
    *type = IGRAPH_ATTRIBUTE_BOOLEAN;
            ^
src/attributes.c:1832:3: warning: incompatible pointer types initializing 'int (*)(const igraph_t *, const char *, igraph_vs_t, igraph_vector_t *)' with an
      expression of type 'int (const igraph_t *, const char *, igraph_vector_bool_t *)' [-Wincompatible-pointer-types]
  igraphmodule_i_get_boolean_graph_attr,
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/attributes.c:1833:3: warning: incompatible pointer types initializing 'int (*)(const igraph_t *, const char *, igraph_vs_t, igraph_strvector_t *)' with an
      expression of type 'int (const igraph_t *, const char *, igraph_vs_t, igraph_vector_t *)' [-Wincompatible-pointer-types]
  igraphmodule_i_get_numeric_vertex_attr,
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/attributes.c:1834:3: warning: incompatible pointer types initializing 'int (*)(const igraph_t *, const char *, igraph_es_t, igraph_vector_t *)' with an
      expression of type 'int (const igraph_t *, const char *, igraph_vs_t, igraph_strvector_t *)' [-Wincompatible-pointer-types]
  igraphmodule_i_get_string_vertex_attr,
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/attributes.c:1835:3: warning: incompatible pointer types initializing 'int (*)(const igraph_t *, const char *, igraph_es_t, igraph_strvector_t *)' with an
      expression of type 'int (const igraph_t *, const char *, igraph_vs_t, igraph_vector_bool_t *)' [-Wincompatible-pointer-types]
  igraphmodule_i_get_boolean_vertex_attr,
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/attributes.c:1836:3: warning: excess elements in struct initializer
  igraphmodule_i_get_numeric_edge_attr,
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 warnings and 8 errors generated.
error: command 'gcc' failed with exit status 1

Edit: added current ImportError txt:

>>> import igraph
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named igraph
>>> exit()

I finally figured this out. Many thanks to +Tamas for a demonstration of extreme patience. The current disk image files are not robust enough to deal with the unique install locations for the Enthought Canopy distribution. I also made a couple of mistakes in the order which I tried the igraph install. The correct procedure first requires updating the C-core for igraph and then using the corresponding source for python-igraph install using [ % python setup.py install ].

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM