2013-08-13 4 views
36

Sto cercando di installare xlrd su mac 10.8.4 per poter leggere i file excel tramite python.errore: impossibile creare '/Library/Python/2.7/site-packages/xlrd': Autorizzazione negata

Ho seguito le istruzioni su http://www.simplistix.co.uk/presentations/python-excel.pdf

ho fatto questo:

  1. decompressi la cartella al desktop

  2. nel terminale, cd per estrarre la cartella

  3. $ python setup.py install

Questo è ciò che ottengo:

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 

Perché permesso negato? Grazie

risposta

4

provare sudo python setup.py install

la cartella/Library ha bisogno permessi di root a cui accedere.

+63

Non 'sudo'! Usa il flag '--user' –

+2

Nel mio caso (OpenELEC) non c'è sudo, quindi il flag --user è quello che ha fatto! – s1m3n

129

Prova python setup.py install --user

Non si deve usare sudo come suggerito sopra per due motivi:

  1. Stai permettendo codice non attendibile arbitrario da internet per essere eseguito come root
  2. Passando il --user flag to python setup.py install installerà il pacchetto in una directory di proprietà dell'utente. Il tuo utente non root normale non sarà in grado di accedere ai file installati da sudo pip o sudo python setup.py
+0

se ho già installato pacchetti con root, posso semplicemente modificare i permessi con 'chown -R username/Library/Python/2.7/site-packages' o cosa mi consiglia? – Chris

+1

Non qualcosa che ho avuto a che fare, e non ci prenderei la mia parola in proposito comunque - chiedi come una nuova domanda e guarda cosa hanno da dire le altre persone :-) Forse lascia un link alla tua Q qui quando tu fare –

3

Prova in un virtualenv:

  • sudo pip installare virtualenvwrapper
  • mkvirtualenv
  • workon
  • python setup.py installa
Problemi correlati