Permission denied error near end of python module (igraph) install
Question: I'm trying to install igraph 0.7. It's on a cluster, so it must be done in my
home directory. I'm using `pip` and pointing it to a local archive. The
process works well, until then end, when I get a permission denied error.

    
    
    pequodr@labq02 [~/modules] % pip install --user python-igraph-0.7.tar.gz 
    
    [LOTS OF OUTPUT CLIPPED]
    
    byte-compiling /home/pequodr/pequodr/.local/lib/python2.7/site-packages/igraph/clustering.py to clustering.pyc
    byte-compiling /home/pequodr/pequodr/.local/lib/python2.7/site-packages/igraph/summary.py to summary.pyc
    byte-compiling /home/pequodr/pequodr/.local/lib/python2.7/site-packages/igraph/statistics.py to statistics.pyc
    byte-compiling /home/pequodr/pequodr/.local/lib/python2.7/site-packages/igraph/compat.py to compat.pyc
    running install_headers
    creating /soft/python-epd/canopy-1.4.1/include/site
    error: could not create '/soft/python-epd/canopy-1.4.1/include/site': Permission denied
    ----------------------------------------
    Cleaning up...
    Command /soft/python-epd/canopy-1.4.1/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-_iGu38-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-_slLtx-record/install-record.txt --single-version-externally-managed --compile --install-headers /soft/python-epd/canopy-1.4.1/include/site/python2.7 --user failed with error code 1 in /tmp/pip-_iGu38-build
    Storing debug log for failure in /home/pequodr/pequodr/.pip/pip.log
    pequodr@labq02 [~/modules] % 
    

What's interesting is that the package seems to work okay. I can import it and
use it in python.

How can I get around this error? Since the package works, can it be ignored,
or will it come back to haunt me later? What does it mean?

# EDIT

Here is the output of `ls -l /soft/python-epd/canopy-1.4.1/include/`

    
    
    total 8640
    -rw-r--r--.  1 swinst swinst   4857 Jan  8 12:07 clog_commset.h
    -rw-r--r--.  1 swinst swinst    696 Jan  8 12:07 clog_const.h
    -rw-r--r--.  1 swinst swinst    737 Jan  8 12:07 clog_inttypes.h
    -rw-r--r--.  1 swinst swinst   1353 Jan  8 12:07 clog_uuid.h
    -rw-r--r--.  1 swinst swinst   3997 Jan  8 12:00 cpl_atomic_ops.h
    -rw-r--r--.  1 swinst swinst    627 Jan  8 12:00 cpl_config_extras.h
    -rw-r--r--.  1 swinst swinst   6397 Jan  8 12:00 cpl_config.h
    -rw-r--r--.  1 swinst swinst  13436 Jan  8 12:00 cpl_conv.h
    -rw-r--r--.  1 swinst swinst   2871 Jan  8 12:00 cpl_csv.h
    -rw-r--r--.  1 swinst swinst   5072 Jan  8 12:00 cpl_error.h
    -rw-r--r--.  1 swinst swinst   3478 Jan  8 12:00 cpl_hash_set.h
    -rw-r--r--.  1 swinst swinst   4148 Jan  8 12:00 cpl_http.h
    -rw-r--r--.  1 swinst swinst   2828 Jan  8 12:00 cplkeywordparser.h
    -rw-r--r--.  1 swinst swinst   2813 Jan  8 12:00 cpl_list.h
    -rw-r--r--.  1 swinst swinst   6641 Jan  8 12:00 cpl_minixml.h
    -rw-r--r--.  1 swinst swinst   3114 Jan  8 12:00 cpl_minizip_ioapi.h
    -rw-r--r--.  1 swinst swinst  13825 Jan  8 12:00 cpl_minizip_unzip.h
    -rw-r--r--.  1 swinst swinst   9758 Jan  8 12:00 cpl_minizip_zip.h
    -rw-r--r--.  1 swinst swinst   6285 Jan  8 12:00 cpl_multiproc.h
    -rw-r--r--.  1 swinst swinst   9352 Jan  8 12:00 cpl_odbc.h
    -rw-r--r--.  1 swinst swinst  21384 Jan  8 12:00 cpl_port.h
    -rw-r--r--.  1 swinst swinst   2212 Jan  8 12:00 cpl_progress.h
    -rw-r--r--.  1 swinst swinst   4505 Jan  8 12:00 cpl_quad_tree.h
    -rw-r--r--.  1 swinst swinst   3569 Jan  8 12:00 cpl_spawn.h
    -rw-r--r--.  1 swinst swinst  14916 Jan  8 12:00 cpl_string.h
    -rw-r--r--.  1 swinst swinst   1935 Jan  8 12:00 cpl_time.h
    -rw-r--r--.  1 swinst swinst  16181 Jan  8 12:00 cpl_virtualmem.h
    -rw-r--r--.  1 swinst swinst  11897 Jan  8 12:00 cpl_vsi.h
    -rw-r--r--.  1 swinst swinst   2549 Jan  8 12:00 cpl_vsil_curl_priv.h
    -rw-r--r--.  1 swinst swinst   8307 Jan  8 12:00 cpl_vsi_virtual.h
    -rw-r--r--.  1 swinst swinst   2973 Jan  8 12:00 cpl_win32ce_api.h
    -rw-r--r--.  1 swinst swinst   1821 Jan  8 12:00 cpl_wince.h
    drwxr-xr-x.  2 swinst swinst   4096 Jan  8 12:00 curl
    -rw-r--r--.  1 swinst swinst   3364 Jan  8 12:00 expat_external.h
    -rw-r--r--.  1 swinst swinst  40339 Jan  8 12:00 expat.h
    drwxr-xr-x.  3 swinst swinst   8192 Jan  8 12:02 freetype2
    -rw-r--r--.  1 swinst swinst  19306 Jan  8 12:00 gdal_alg.h
    -rw-r--r--.  1 swinst swinst   7501 Jan  8 12:00 gdal_alg_priv.h
    -rw-r--r--.  1 swinst swinst   1890 Jan  8 12:00 gdal_csv.h
    -rw-r--r--.  1 swinst swinst   9476 Jan  8 12:00 gdalexif.h
    -rw-r--r--.  1 swinst swinst   7373 Jan  8 12:00 gdal_frmts.h
    -rw-r--r--.  1 swinst swinst   2397 Jan  8 12:00 gdalgeorefpamdataset.h
    -rw-r--r--.  1 swinst swinst   5289 Jan  8 12:00 gdalgrid.h
    -rw-r--r--.  1 swinst swinst   3009 Jan  8 12:00 gdalgrid_priv.h
    -rw-r--r--.  1 swinst swinst  41298 Jan  8 12:00 gdal.h
    -rw-r--r--.  1 swinst swinst   2123 Jan  8 12:00 gdaljp2abstractdataset.h
    -rw-r--r--.  1 swinst swinst   4888 Jan  8 12:00 gdaljp2metadata.h
    -rw-r--r--.  1 swinst swinst  12217 Jan  8 12:00 gdal_pam.h
    -rw-r--r--.  1 swinst swinst  37917 Jan  8 12:00 gdal_priv.h
    -rw-r--r--.  1 swinst swinst  17067 Jan  8 12:00 gdal_proxy.h
    -rw-r--r--.  1 swinst swinst  12975 Jan  8 12:00 gdal_rat.h
    -rw-r--r--.  1 swinst swinst  17447 Jan  8 12:00 gdal_simplesurf.h
    -rw-r--r--.  1 swinst swinst   1034 Jan  8 12:00 gdal_version.h
    -rw-r--r--.  1 swinst swinst   4538 Jan  8 12:00 gdal_vrt.h
    -rw-r--r--.  1 swinst swinst  16951 Jan  8 12:00 gdalwarper.h
    -rw-r--r--.  1 swinst swinst   6250 Jan  8 12:00 gdalwarpkernel_opencl.h
    drwxr-xr-x. 15 swinst swinst   8192 Jan  8 12:03 geos
    -rw-r--r--.  1 swinst swinst  64011 Jan  8 12:03 geos_c.h
    -rw-r--r--.  1 swinst swinst    866 Jan  8 12:03 geos.h
    drwxr-xr-x.  3 swinst swinst   4096 Jan  8 12:05 gio-unix-2.0
    drwxr-xr-x.  5 swinst swinst   4096 Jan  8 12:05 glib-2.0
    drwxr-xr-x.  3 swinst swinst   4096 Jan  8 12:05 gstreamer-0.10
    -rw-r--r--.  1 swinst swinst   2886 Jan  8 12:00 gvgcpfit.h
    -rw-r--r--.  1 swinst swinst  22588 Jan  8 12:00 H5ACpublic.h
    -rw-r--r--.  1 swinst swinst  14401 Jan  8 12:00 H5api_adpt.h
    -rw-r--r--.  1 swinst swinst   5629 Jan  8 12:00 H5Apublic.h
    -rw-r--r--.  1 swinst swinst   1918 Jan  8 12:00 H5Cpublic.h
    -rw-r--r--.  1 swinst swinst   1592 Jan  8 12:00 H5DOpublic.h
    -rw-r--r--.  1 swinst swinst   6616 Jan  8 12:00 H5Dpublic.h
    -rw-r--r--.  1 swinst swinst   2748 Jan  8 12:00 H5DSpublic.h
    -rw-r--r--.  1 swinst swinst  19492 Jan  8 12:00 H5Epubgen.h
    -rw-r--r--.  1 swinst swinst   9174 Jan  8 12:00 H5Epublic.h
    -rw-r--r--.  1 swinst swinst   1705 Jan  8 12:00 H5FDcore.h
    -rw-r--r--.  1 swinst swinst   2172 Jan  8 12:00 H5FDdirect.h
    -rw-r--r--.  1 swinst swinst   1723 Jan  8 12:00 H5FDfamily.h
    -rw-r--r--.  1 swinst swinst   3243 Jan  8 12:00 H5FDlog.h
    -rw-r--r--.  1 swinst swinst   2806 Jan  8 12:00 H5FDmpi.h
    -rw-r--r--.  1 swinst swinst   2499 Jan  8 12:00 H5FDmpio.h
    -rw-r--r--.  1 swinst swinst   1900 Jan  8 12:00 H5FDmpiposix.h
    -rw-r--r--.  1 swinst swinst   2095 Jan  8 12:00 H5FDmulti.h
    -rw-r--r--.  1 swinst swinst  13879 Jan  8 12:00 H5FDpublic.h
    -rw-r--r--.  1 swinst swinst   1555 Jan  8 12:00 H5FDsec2.h
    -rw-r--r--.  1 swinst swinst   1561 Jan  8 12:00 H5FDstdio.h
    -rw-r--r--.  1 swinst swinst   8717 Jan  8 12:00 H5Fpublic.h
    -rw-r--r--.  1 swinst swinst   7309 Jan  8 12:00 H5Gpublic.h
    -rw-r--r--.  1 swinst swinst   3432 Jan  8 12:00 H5IMpublic.h
    -rw-r--r--.  1 swinst swinst   4641 Jan  8 12:00 H5Ipublic.h
    -rw-r--r--.  1 swinst swinst   9324 Jan  8 12:00 H5Lpublic.h
    -rw-r--r--.  1 swinst swinst  14340 Jan  8 12:00 H5LTpublic.h
    -rw-r--r--.  1 swinst swinst   1933 Jan  8 12:00 H5MMpublic.h
    -rw-r--r--.  1 swinst swinst  10238 Jan  8 12:00 H5Opublic.h
    -rw-r--r--.  1 swinst swinst  99992 Jan  8 12:00 H5overflow.h
    -rw-r--r--.  1 swinst swinst   2882 Jan  8 12:00 H5PLextern.h
    -rw-r--r--.  1 swinst swinst  24235 Jan  8 12:00 H5Ppublic.h
    -rw-r--r--.  1 swinst swinst   4011 Jan  8 12:00 H5PTpublic.h
    -rw-r--r--.  1 swinst swinst  22089 Jan  8 12:00 H5pubconf.h
    -rw-r--r--.  1 swinst swinst  11180 Jan  8 12:00 H5public.h
    -rw-r--r--.  1 swinst swinst   3686 Jan  8 12:00 H5Rpublic.h
    -rw-r--r--.  1 swinst swinst   7405 Jan  8 12:00 H5Spublic.h
    -rw-r--r--.  1 swinst swinst   8577 Jan  8 12:00 H5TBpublic.h
    -rw-r--r--.  1 swinst swinst  27329 Jan  8 12:00 H5Tpublic.h
    -rw-r--r--.  1 swinst swinst  12558 Jan  8 12:00 H5version.h
    -rw-r--r--.  1 swinst swinst  11262 Jan  8 12:00 H5Zpublic.h
    -rw-r--r--.  1 swinst swinst   2655 Jan  8 12:00 hdf5.h
    -rw-r--r--.  1 swinst swinst   1604 Jan  8 12:00 hdf5_hl.h
    -rw-r--r--.  1 swinst swinst   1352 Oct 13 10:42 jconfig.h
    -rw-r--r--.  1 swinst swinst  14581 Oct 13 10:42 jerror.h
    -rw-r--r--.  1 swinst swinst  12653 Oct 13 10:42 jmorecfg.h
    -rw-r--r--.  1 swinst swinst  47474 Oct 13 10:42 jpeglib.h
    drwxr-xr-x.  2 swinst swinst   4096 Jan  8 12:00 libexslt
    drwxr-xr-x.  2 swinst swinst   4096 Jan  8 11:58 libpng16
    drwxr-xr-x.  3 swinst swinst   4096 Jan  8 12:00 libxml2
    drwxr-xr-x.  2 swinst swinst   4096 Jan  8 12:00 libxslt
    -rw-r--r--.  1 swinst swinst   5712 Jan  8 12:00 memdataset.h
    -rw-r--r--.  1 swinst swinst   2342 Jan  8 12:07 mpe_callstack.h
    -rw-r--r--.  1 swinst swinst   1184 Jan  8 12:06 mpe_graphicsf.h
    -rw-r--r--.  1 swinst swinst   6083 Jan  8 12:06 mpe_graphics.h
    -rw-r--r--.  1 swinst swinst    355 Jan  8 12:06 mpe.h
    -rw-r--r--.  1 swinst swinst   1833 Jan  8 12:06 mpe_logf.h
    -rw-r--r--.  1 swinst swinst  11102 Jan  8 12:07 mpe_log.h
    -rw-r--r--.  1 swinst swinst   2721 Jan  8 12:07 mpe_log_thread.h
    -rw-r--r--.  1 swinst swinst   1322 Jan  8 12:06 mpe_misc.h
    -rw-r--r--.  1 swinst swinst 102269 Jan  8 12:06 mpi_base.mod
    -rw-r--r--.  1 swinst swinst  45898 Jan  8 12:07 mpi_constants.mod
    -rw-r--r--.  1 swinst swinst 100748 Jan  8 12:07 mpicxx.h
    -rw-r--r--.  1 swinst swinst  18320 Jan  8 12:07 mpif.h
    -rw-r--r--.  1 swinst swinst  55767 Jan  8 12:07 mpi.h
    -rw-r--r--.  1 swinst swinst 158455 Jan  8 12:07 mpi.mod
    -rw-r--r--.  1 swinst swinst   1190 Jan  8 12:06 mpiof.h
    -rw-r--r--.  1 swinst swinst  16710 Jan  8 12:07 mpio.h
    -rw-r--r--.  1 swinst swinst   9390 Jan  8 12:07 mpi_sizeofs.mod
    -rw-r--r--.  1 swinst swinst    591 Jan  8 12:07 mpix.h
    -rw-r--r--.  1 swinst swinst  60373 Jan  8 12:00 netcdf.h
    -rw-r--r--.  1 swinst swinst  29693 Jan  8 12:00 ogr_api.h
    -rw-r--r--.  1 swinst swinst  20574 Jan  8 12:00 ogr_core.h
    -rw-r--r--.  1 swinst swinst  17318 Jan  8 12:00 ogr_feature.h
    -rw-r--r--.  1 swinst swinst  19439 Jan  8 12:00 ogr_featurestyle.h
    -rw-r--r--.  1 swinst swinst   2554 Jan  8 12:00 ogr_geocoding.h
    -rw-r--r--.  1 swinst swinst  26955 Jan  8 12:00 ogr_geometry.h
    -rw-r--r--.  1 swinst swinst   6974 Jan  8 12:00 ogr_p.h
    -rw-r--r--.  1 swinst swinst  17903 Jan  8 12:00 ogrsf_frmts.h
    -rw-r--r--.  1 swinst swinst  26958 Jan  8 12:00 ogr_spatialref.h
    -rw-r--r--.  1 swinst swinst  36834 Jan  8 12:00 ogr_srs_api.h
    -rw-r--r--.  1 swinst swinst   6682 Jan  8 12:07 opa_config.h
    -rw-r--r--.  1 swinst swinst   5937 Jan  8 12:07 opa_primitives.h
    -rw-r--r--.  1 swinst swinst  14465 Jan  8 12:07 opa_queue.h
    -rw-r--r--.  1 swinst swinst    882 Jan  8 12:07 opa_util.h
    lrwxrwxrwx.  1 swinst swinst     18 Jan  8 11:58 pngconf.h -> libpng16/pngconf.h
    lrwxrwxrwx.  1 swinst swinst     14 Jan  8 11:58 png.h -> libpng16/png.h
    lrwxrwxrwx.  1 swinst swinst     21 Jan  8 11:58 pnglibconf.h -> libpng16/pnglibconf.h
    drwxr-xr-x.  2 swinst swinst   4096 Jan  8 12:07 primitives
    -rw-r--r--.  1 swinst swinst   6630 Jan  8 12:00 rawdataset.h
    drwxr-xr-x.  2 swinst swinst   4096 Jan  8 12:04 theora
    -rw-r--r--.  1 swinst swinst   4927 Jan  8 12:00 thinplatespline.h
    -rw-r--r--.  1 swinst swinst  35765 Jan  8 12:00 vrtdataset.h
    drwxr-xr-x. 21 swinst swinst 274432 Jan  8 12:03 vtk-5.10
    drwxr-xr-x.  3 swinst swinst   4096 Jan  8 12:02 wx-2.8
    -rw-r--r--.  1 swinst swinst  54225 Jan  8 12:05 yaml.h
    -rw-r--r--.  1 swinst swinst  14351 Jan  8 12:00 zconf.h
    -rw-r--r--.  1 swinst swinst  86076 Jan  8 12:00 zlib.h
    -rw-r--r--.  1 swinst swinst  14084 Jan  8 12:02 zmq.h
    -rw-r--r--.  1 swinst swinst   3588 Jan  8 12:02 zmq_utils.h
    


Answer: You can safely ignore the message. `python-igraph` tries to add a header file
named `igraphmodule_api.h` to the list of Python headers to make it possible
for other extension written in C to use some of igraph's internal API. You
won't need this unless you want to develop another Python extension in C to
extend the functionality of the `igraph` module in Python.

If the message annoys you, you can edit `setup.py` and remove the line that
refers to `igraphmodule_api.h` to get rid of the warning.

