Tôi đã bắt đầu sử dụng máy Mac của mình để cài đặt các gói Python giống như cách tôi làm với PC Windows của mình tại nơi làm việc; tuy nhiên trên máy Mac của tôi, tôi thường xuyên gặp lỗi bị từ chối cho phép khi ghi vào tệp nhật ký hoặc gói trang.
Vì vậy, tôi đã nghĩ đến việc chạy pip install <package>
dưới sudo
nhưng đó có phải là cách sử dụng sudo an toàn / có thể chấp nhận được không vì tôi chỉ muốn cài đặt này trong tài khoản người dùng hiện tại của mình?
Ví dụ theo dõi lại từ một lỗi I / O của tệp nhật ký:
Command /usr/bin/python -c "import setuptools;__file__='/Users/markwalker/build/pycrypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /var/folders/tq/hy1fz_4j27v6rstzzw4vymnr0000gp/T/pip-k6f2FU-record/install-record.txt failed with error code 1 in /Users/markwalker/build/pycrypto
Storing complete log in /Users/markwalker/Library/Logs/pip.log
Traceback (most recent call last):
File "/usr/local/bin/pip", line 8, in <module>
load_entry_point('pip==1.1', 'console_scripts', 'pip')()
File "/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg/pip/__init__.py", line 116, in main
return command.main(args[1:], options)
File "/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 141, in main
log_fp = open_logfile(log_fn, 'w')
File "/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 168, in open_logfile
log_fp = open(filename, mode)
IOError: [Errno 13] Permission denied: '/Users/markwalker/Library/Logs/pip.log'
Cập nhật
Điều này có thể do quyền, tuy nhiên, cách tốt nhất là sử dụng môi trường ảo cho các dự án python của bạn. sudo pip
Nên tránh chạy bộ trừ khi thực sự cần thiết.
cd /tmp; sudo pip install foo
' là một giải pháp phù hợp.