rm файл "Операция не разрешена", даже когда sudo

2462
Puffycheeses

Я работаю с Python 2.7, и у меня были ошибки импорта со случайным, поэтому я проверил путь и заметил, что он использует random.pyc вместо random.py

Я пытался удалить файл, но он не будет работать.

sudo rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.pyc 

и RM -R дает мне эту ошибку, даже когда я говорю у

sudo rm -R /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.pyc override rw-r--r-- root/wheel restricted,compressed for /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.pyc? y rm: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.pyc: Operation not permitted 

Что я должен делать?

Изменить: весь мой "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/" полон файлов .pyc и .pyo, и импорт не работает ни на одном из них (если я не использую на холостом ходу)

1
Какая версия macOS? Это, вероятно, SIP, если вы находитесь на El Capitan или позже. Spiff 7 лет назад 0

1 ответ на вопрос

4
duskwuff

Первое: это нормально. .pycфайлы - это предварительно скомпилированные файлы Python. Они содержат те же данные, что и .pyфайлы, прилегающие к ним. Если у вас есть проблемы с randomмодулем, вы, вероятно, делаете что-то не так, и вам, вероятно, следует задать вопрос о вашем коде в Stack Overflow .

В более общем плане: Вы не можете и не должны изменять файлы в /Systemкаталоге. Они являются частью операционной системы - изменение их приведет к некорректной работе вашего компьютера.

macOS предотвращает изменение системных файлов (кроме системных обновлений) с помощью механизма, называемого System Integrity Protection, или SIP. Можно отключить SIP, но, как правило, в этом нет необходимости даже для разработчиков.