У меня есть эта проблема в моей OS X El Capitan.
Я следовал инструкциям, упомянутым в этого урока . Не удалось выполнить успешную рабочую установку, и при указанной выше ошибке отсутствовал файл cv2.so в необходимых папках , упомянутых и в приглашении python
.
Наконец-то понял, что использование настройки виртуального питона вызывает проблемы. Таким образом, удаление с
pip install virtualenv virtualenvwrapper
Затем запустил
brew link opencv
, который выдает ошибки.
А затем следуйте приведенным ниже шагам, чтобы решить проблему.
Первый запуск
brew link opencv
Если выдается ошибка, попробуйте автоматическую диагностику.
brew doctor
brew doctor
выдает список проблем, которые могут привести к ошибкам при установке. процесс.
Чтобы исправить проблемы в случае конфликтующих файлов, запустите, чтобы получить список всех действий, которые будут выполнены путем перезаписи без фактического их выполнения.
Чтобы отобразить список всех файлов, которые будут удалены:
brew link --overwrite --dry-run opencv
с последующим запуском, который выполнит перезапись, при условии, что вы чувствуете, что действия, выполненные перезаписью, приведут вашу систему к более Стабильное состояние .
Для принудительной установки ссылки и перезаписи всех конфликтующих файлов:
brew link --overwrite opencv
Этот учебник является более простой альтернативой.
Они предназначены для внутренних классов и статических вложенных классов . Классы с номерами являются анонимными внутренними классами.
Например:
class Foo {
class Bar { }
static class Baz { }
void run() {
Helper t = new Helper() {
int helpMethod() {
return 2;
}
};
}
}
Это создаст файлы классов Foo.class
, Foo $ Bar.class
, Foo $ Baz.class
и Foo $ 1.class
(для реализации интерфейса Helper
)
Вы получаете больше файлов .class из одного исходного файла, если
класс содержит внутренние классы или статические внутренние классы. Внутренние классы могут гнездиться. Их имена: <имя внешнего класса> $ <имя внутреннего класса>
.
внутренние интерфейсы, которые всегда статичны.
анонимные внутренние классы (которые на самом деле являются простыми внутренними классами без имени)
интерфейсы и классы доступа к пакетам до и после вашего основного класса. Вы можете иметь произвольное количество классов и интерфейсов доступа к пакетам в одном исходном файле Java. Обычно небольшие вспомогательные объекты, которые используются только классом, просто помещаются в один и тот же файл.
Каждый класс в java принадлежит к .java-файлу, но .java-файл может содержать несколько классов. Это включает внутренние и анонимные классы. Файлы .class, созданные для внутренних классов, содержат в своем имени символ «$». Анонимные внутренние классы получают числа.
Один исходный файл java может генерировать несколько файлов классов, если ваш класс содержит внутренние классы. Анонимные внутренние классы представлены вашими пронумерованными файлами классов.
При компиляции будет создано несколько классов, только если у вашего класса есть внутренний класс.
см .: Почему код Java с внутренним классом генерирует третий файл SomeClass $ 1.class?