2013-08-13 54 views
36

Tôi đang cố gắng cài đặt xlrd trên mac 10.8.4 để có thể đọc tệp excel thông qua python.lỗi: không thể tạo '/Library/Python/2.7/site-packages/xlrd': Quyền bị từ chối

Tôi đã theo các hướng dẫn trên http://www.simplistix.co.uk/presentations/python-excel.pdf

Tôi đã làm điều này:

  1. giải nén vào thư mục máy tính để bàn

  2. trong thiết bị đầu cuối, cd đến thư mục giải nén

  3. $ python setup.py cài đặt

Đây là những gì tôi nhận được:

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 

Tại sao sự cho phép từ chối? Cảm ơn

Trả lời

4

thử sudo python setup.py install

thư mục/Library thư mục cần sự cho phép gốc để được truy cập.

+63

Đừng 'sudo'! Sử dụng cờ '--user' –

+2

Trong trường hợp của tôi (OpenELEC) không có sudo, vì vậy cờ --user là cái đã làm nó! – s1m3n

129

Hãy thử python setup.py install --user

Bạn không nên sử dụng sudo như đề nghị trên vì hai lý do:

  1. Bạn đang cho phép mã không tin cậy tùy ý tắt internet để được chạy như là người chủ
  2. Đi qua các --user gắn cờ tới python setup.py install sẽ cài đặt gói vào thư mục do người dùng sở hữu. người sử dụng không phải root bình thường bạn sẽ không thể truy cập các tập tin cài đặt bởi sudo pip hoặc sudo python setup.py
+0

nếu tôi đã cài đặt các gói với thư mục gốc ở đó, tôi có thể thay đổi quyền với 'tên người dùng -R/Thư viện/Python/2.7/trang web-gói' hay bạn đề xuất gì? – Chris

+1

Không phải cái gì tôi phải đối phó, và tôi cũng sẽ không nhận lời của tôi - hỏi nó như một câu hỏi mới và xem những gì người khác phải nói :-) Có thể để lại một liên kết đến Q của bạn ở đây khi bạn làm –

3

Hãy thử trong một virtualenv:

  • sudo pip cài đặt virtualenvwrapper
  • mkvirtualenv
  • workon
  • python setup.py install