ฉันเริ่มใช้ Mac เพื่อติดตั้งแพ็คเกจ Python ในแบบเดียวกับที่ทำกับ Windows PC ในที่ทำงาน อย่างไรก็ตามใน Mac ของฉันฉันพบข้อผิดพลาดที่ถูกปฏิเสธการอนุญาตบ่อยครั้งขณะเขียนลงในไฟล์บันทึกหรือแพ็คเกจไซต์
ดังนั้นฉันจึงคิดที่จะทำงานpip install <package>
ภายใต้sudo
แต่การใช้ sudo ที่ปลอดภัย / ยอมรับได้หรือไม่โดยพิจารณาว่าฉันแค่ต้องการติดตั้งสิ่งนี้ในบัญชีผู้ใช้ปัจจุบันของฉัน
ตัวอย่างการย้อนกลับจากข้อผิดพลาด I / O ของไฟล์บันทึก:
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'
อัปเดต
สิ่งนี้น่าจะเป็นไปตามสิทธิ์อย่างไรก็ตามแนวทางที่ดีที่สุดคือการใช้สภาพแวดล้อมเสมือนสำหรับโครงการ python ของคุณ sudo pip
ควรหลีกเลี่ยงการวิ่งเว้นแต่จำเป็นจริงๆ
cd /tmp; sudo pip install foo
' เป็นวิธีแก้ปัญหาที่เพียงพอ