Ответ 1
Почему это происходит?
Итак, исполняемые файлы python
в El Capitan порождают .../Python.framework/Versions/2.7/Resources/Python.app
+ дополнительную магию. Проблема состоит в том, что пакет framework не имеет своей собственной подписи и использует подписи родительских двоичных приложений.
Как проверить?
Первое, что нужно проверить после установки приложений из не поддерживаемых Apple-источников, которые могут быть использованы, - это проверить, ограничено ли приложение, которое вы устанавливаете:
ls -lO /System/Library/Frameworks/Python.framework/Versions/2.7/
csrutil status
Если он ограничен, его нельзя удалить (даже с помощью root) до тех пор, пока SIP включен.
Что делать?
Итак, у вас есть несколько различных вариантов, которые вы должны попробовать:
-
Pre-Option 0 - Я думаю, что вы уже делаете это: я не уверен, как вы поддерживаете свою виртуальную среду, поэтому просто подтвердите, что вы проходите процесс, например здесь.
-
Вариант 1 - безопасен, но может не работать. Используйте
brew
, чтобы поддерживать исполняемые файлы иpip
для поддержки ваших пакетов. Это обычно решает проблему немедленно, но я не уверен, в чем ваш случай:) -
Вариант 2 - опасный, но будет работать: Проверить и Disable SIP. Если вы не работаете в среде, защищенной командой ИТ-ребята с многолетним опытом безопасности, я не предлагаю этого. Этот вариант разрешит проблему, но вы в основном избавляетесь от одного из уровней безопасности... GL!
ОБНОВЛЕНИЕ 1
Есть еще один вариант (не уверен, что вы его попробовали)
- Вариант 1.5 - Я понятия не имею, будет ли он работать. Попробуйте вариант 1 (
csrutil disable
), перезагрузитесь, пройдете процессcodesign
, перезагрузитесь и отмените вариант 1 (csrutil enable
). Я никогда не пробовал, но это не значит, что вы не можете:))) Кредит идет на этот ответ SO здесь