error: could not create '/Library/Python/2.7/site-packages/xlrd': Permission denied

Question:

I’m trying to install xlrd on mac 10.8.4 to be able to read excel files through python.

I have followed the instructions on http://www.simplistix.co.uk/presentations/python-excel.pdf

I did this:

  1. unzipped the folder to desktop

  2. in terminal, cd to the unzipped folder

  3. $ python setup.py install

This is what I get:

running install
running build
running build_py
creating build
creating build/lib
creating build/lib/xlrd
copying xlrd/__init__.py -> build/lib/xlrd
copying xlrd/biffh.py -> build/lib/xlrd
copying xlrd/book.py -> build/lib/xlrd
copying xlrd/compdoc.py -> build/lib/xlrd
copying xlrd/formatting.py -> build/lib/xlrd
copying xlrd/formula.py -> build/lib/xlrd
copying xlrd/info.py -> build/lib/xlrd
copying xlrd/licences.py -> build/lib/xlrd
copying xlrd/sheet.py -> build/lib/xlrd
copying xlrd/timemachine.py -> build/lib/xlrd
copying xlrd/xldate.py -> build/lib/xlrd
copying xlrd/xlsx.py -> build/lib/xlrd
creating build/lib/xlrd/doc
copying xlrd/doc/compdoc.html -> build/lib/xlrd/doc
copying xlrd/doc/xlrd.html -> build/lib/xlrd/doc
creating build/lib/xlrd/examples
copying xlrd/examples/namesdemo.xls -> build/lib/xlrd/examples
copying xlrd/examples/xlrdnameAPIdemo.py -> build/lib/xlrd/examples
running build_scripts
creating build/scripts-2.7
copying and adjusting scripts/runxlrd.py -> build/scripts-2.7
changing mode of build/scripts-2.7/runxlrd.py from 644 to 755
running install_lib
creating /Library/Python/2.7/site-packages/xlrd
error: could not create '/Library/Python/2.7/site-packages/xlrd': Permission denied

Why is permission denied? Thanks

Asked By: Sammy

||

Answers:

try sudo python setup.py install

the /Library folder needs root permission to be accessed.

Answered By: arynhard

Try python setup.py install --user

You shouldn’t use sudo as suggested above for two reasons:

  1. You’re allowing arbitrary untrusted code off the internet to be run as root
  2. Passing the --user flag to python setup.py install will install the package to a user-owned directory. Your normal non-root user won’t be able to access the files installed by sudo pip or sudo python setup.py
Answered By: Louis Maddox

Try in a virtualenv:

  • sudo pip install virtualenvwrapper
  • mkvirtualenv
  • workon
  • python setup.py install
Answered By: Nitin
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.