- EDIT: эти действия теперь работают после обновления, чтобы включить ответ RecencyEffect
- What is modulenotfounderror?
- Конфликт имен библиотеки и модуля
- ИЗМЕНИТЬ на ответ RecencyEffect ниже, если вы выполните следующие дополнительные шаги, вы сможете запустить object_detection_tutorial.py script из любого каталога
- Solving ModuleNotFoundError: no module named ‘_ctypes’
- Modulenotfounderror: No Module Named _ctypes for Linux System
- Modulenotfounderror: No Module Named _ctypes for CentOS
- Modulenotfounderror: No Module Named _ctypes for MacOS
- Conflict between package and module names
- Конфликт зависимостей модулей Python
- Dependency conflict between Python modules
- Python module is not installed
EDIT: эти действия теперь работают после обновления, чтобы включить ответ RecencyEffect
1) Установите TensorFlow и сопутствующие инструменты через pip3
2) В командной строке администратора сделайте следующее:
pip3 устанавливает подушку
pip3 устанавливает lxml
pip3 устанавливает jupyter
pip3 устанавливает matplotlib
3) Клонируйте репозиторий моделей TensorFlow в папку «Документы», в моем случае
C: Users cdahms Documents templates
4) Загрузил Google Protobuf https://github.com/google/protobuf Windows v3.4.0, выпуск «protoc-3.4.0-win32.zip» (я попробовал последнюю версию 3.5.1 и обнаружил ошибки в следующих шагах, поэтому я попробовал 3.4.0 для этого видео https://www.youtube.com/watch?v=COlbP62-BU&list=PLQVvvaa0QuDcNK5GeCQnxYnSSaar2tpku&index=1 и компиляция protobuf сработала)
5) Извлеките Protobuf для загрузки в Program Files, в частности
«C: Program Files protoc-3.4.0-win32»
6) CD в каталог model search, а именно
компакт-диск C: Users cdahms Documents templates search
7) Выполняет компиляцию протобуфа, в частности
«C: Program Files protoc-3.4.0-win32 bin protoc.exe» object_detection / protos / *. Proto —python_out=.
Перейти к:
C: Users cdahms Documents models research object_detection protos
и убедитесь, что файлы .py были правильно сгенерированы компиляцией (только были файлы .proto)
8) cd в каталог object_detection, например:
компакт-диск C: Users cdahms Documents models research object_detection
затем введите в командной строке следующее, чтобы запустить object_detection_tutorial.ipynb Jupyter Notebook
ноутбук jupyter
9) В Jupyter Notebook выберите «object_detection_tutorial.ipynb» -> Cell -> Run all, пример должен работать в записной книжке
10) В Jupyter Notebook выберите «Файл» → «Загрузить как» → «Python» и сохраните .py-версию записной книжки в том же каталоге, например
C: Users cdahms Documents models research object_detection object_detection_tutorial.py
Теперь вы можете открыть скрипт в выбранном вами редакторе Python (например, PyCharm) и запустить его.
What is modulenotfounderror?
Модули — это строки кода, содержащие функции, которые можно импортировать в другую программу. Модули предназначены для того, чтобы сделать код Python более управляемым за счет улучшения читаемости и реализации возможности повторного использования. Синтаксис для импорта модуля: import имя_модуля
Python вызывает ошибку modulenotfounderror, когда не может импортировать модуль. Python попытается найти модуль в sys.modules или sys.path. Когда он не может загрузить модуль, он вызывает ошибку modulenotfounderror. Генерирует ошибку, когда python не может найти одну или одну из зависимостей.
Конфликт имен библиотеки и модуля
Другой причиной ошибки «Нет модуля с именем» является конфликт между именами пакетов и модулей. Предположим, у нас есть следующая структура проекта Python:
демонстрационный проект └───utils __init__.py string_utils.py utils.py
Если вы используете следующий оператор импорта для utils.py, Python вернет ModuleNotFoundError.
Используйте другой браузер
>>> импортировать utils.string_utils
Отслеживание (последний последний вызов):
Файл «C: demo-project utils utils.py», строка 1, в
импортировать utils.string_utils
ModuleNotFoundError: нет модуля с именем «utils.string_utils’;
utils — это не пакет
В сообщении об ошибке говорится, что «utils не является пакетом». Utils — это имя пакета, но это также имя модуля. Это приводит к конфликту, когда имя модуля перекрывает имя пакета / библиотеки. Чтобы исправить это, вам нужно переименовать файл utils.py.
ИЗМЕНИТЬ на ответ RecencyEffect ниже, если вы выполните следующие дополнительные шаги, вы сможете запустить object_detection_tutorial.py script из любого каталога
11) Переместите скрипт в любой другой каталог, затем попробуйте запустить его и обнаружите, что вы получаете сообщение об ошибке:
ModuleNotFoundError: нет модуля с именем ‘utils’
потому что мы еще не сказали Python, как найти каталог utils, который используют эти строки:
из утилит import label_map_util
из утилит импортируйте views_utils как vis_util
Решите эту проблему.,.
12) Перейдите в Система -> Расширенные настройки системы -> Переменные среды, -> Создайте и добавьте переменную с именем PYTHONPATH и следующие значения:
13) Также в переменных окружения измените PATH и добавьте% PYTHONPATH% следующим образом:
14) Перезагрузитесь, чтобы убедиться, что изменения этого пути вступили в силу.
15) Вызовите командную строку и выполните команду «set», убедитесь, что PYTHONPATH существует и что PYTHONPATH и PATH содержат значения предыдущих шагов.
16) Теперь вы можете скопировать «object_detection_tutorial.py» в любой другой каталог и запустить
Как упоминалось в комментарии, utils — это подмодуль, поэтому вам действительно нужно добавить object_detection в PYTHONPATH, а не object_detection / utils.
Я рад, что это сработало для вас.
cD..
Учиться
- экспорт PATH = ~ / anaconda3 / bin: $ PATH
УЧИТЬСЯ
git clone https://github.com/tensorflow/models.git
УЧИТЬСЯ
3 экспортировать PYTHONPATH = $ PYTHONPATH: pwd: pwd / slim
4.protoc object_detection / protos / string_int_label_map.proto —python_out =.
CD OBJECT_DETECTION
протоколы протоколов / string_int_label_map.proto —python_out =.
6 блокнот jupyter
Solving ModuleNotFoundError: no module named ‘_ctypes’
Есть несколько причин, по которым эта ошибка может отразиться на вашем компьютере. Во-первых, вам нужно убедиться, что при импорте модуля ctypes вы правильно набираете имя модуля, потому что python является языком с учетом регистра и в этом случае также выдаст модуль notfounderror.
import _Ctypes
Вышеупомянутый оператор импорта сгенерирует ошибку, потому что «c» в _ctypes не должен быть символом в верхнем регистре.
ModuleNotFoundError: нет модуля с именем ‘_Ctypes’
Modulenotfounderror: No Module Named _ctypes for Linux System
Если вы используете систему Ubuntu Linux, есть больше шансов, что python сгенерирует ошибку modulenotfounderror при импорте модуля _ctypes. Вы можете попробовать установить и переустановить Python, но в большинстве случаев это может не сработать.
Основная причина в том, что для модуля _ctypes в системе Ubuntu требуется установка пакета libffi-dev. Модуль _ctypes зависит от libffi-dev, поэтому его необходимо сначала установить. Поскольку в системе отсутствует установка libffi-dev, она не может использовать модуль _ctypes.
Чтобы установить libffi-dev в вашей системе, вы можете попробовать один из следующих кодов:
sudo apt установить libffi-dev
ИЛИ
sudo apt-get установить libffi-dev
При установке Python версии 3.7.0 или новее в Linux необходимо убедиться, что установлен libffi-dev. Поскольку в Ubuntu во время установки Python появляется сообщение об ошибке отсутствующих зависимостей (в данном случае это _ctype.
| Исправлено В Python нет модуля под названием Numpy
Modulenotfounderror: No Module Named _ctypes for CentOS
Modulenotfounderror обнаружен при использовании CentOS в Linux. Например, при установке Python в CentOS с версией 3.7 или более поздней, чем 3.7, возникает указанная выше ошибка.
Чтобы использовать модули _ctypes, нам нужно установить новый пакет: libffi -devel. Чтобы установить пакет libffi -devel, нам нужно использовать команду yum в centos. Команда yum — это менеджер пакетов по умолчанию. Мы используем эту команду для установки и обновления пакетов в CentOS.
Код для установки пакета:
yum install libffi-devel -y make install
После установки пакета libffi-devel снова установите и скомпилируйте. Это должно устранить ошибку.
| Исправлено Нет модуля под названием Tensorflow Error
Modulenotfounderror: No Module Named _ctypes for MacOS
macOS сталкивается с той же проблемой при работе с модулем _ctypes. Вам нужно будет установить libffi, чтобы использовать модуль _ctypes. Обратите внимание, что для версий Python ранее, чем 2.6, libffi не работает в 64-битной macOS.
Чтобы установить libffi, используйте следующий код в вашем терминале MacOS. Здесь мы устанавливаем libffi для версии 3.2.1. Вы можете соответственно изменить свою версию.
wget ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz tar xvfz libffi-3.2.1.tar.gz cd libffi-3.2.1 ./configure —prefix = / usr / local / libffi / 3_2_1 сделать make install
Conflict between package and module names
Другой причиной ModuleNotFoundError является конфликт между именами пакетов и модулей. Подумайте о том, чтобы в вашем проекте Python была следующая структура каталогов:
демонстрационный проект └───utils __init__.py string_utils.py utils.py
Если вы используете следующий оператор импорта в файле utils.py, Python выдаст ModuleNotFoundError.
import utils.string_utils Traceback (последний вызов): файл «C: demo-project utils utils.py», строка 1, в import utils.string_utils ModuleNotFoundError: нет модуля с именем ‘utils.string_utils’; utils — это не пакет
В сообщении об ошибке говорится, что «utils не является пакетом». Utils — это имя пакета, но это также имя модуля (utils.py). Это причина недоразумений, имя модуля скрывает имя пакета. Чтобы разрешить конфликт, вы можете переименовать файл utils.py во что-нибудь другое.
Конфликт зависимостей модулей Python
Иногда может возникнуть конфликт модуля Python, который приводит к ошибке «Нет модуля с именем.
В следующем сообщении четко указано, что _numpy_compat.py в библиотеке scipy пытается импортировать модуль numpy.testing.nosetester.
Traceback (последний последний вызов): файл «C: demo-project venv Lib site-packages scipy _lib _numpy_compat.py», строка 10, из numpy.testing.nosetester import import_nose ModuleNotFoundError: нет модуля с именем numpy.testing.nosetester
ModuleNotFoundError возникает из-за того, что модуль numpy.testing.nosetester был удален из библиотеки в версии 1.18. Чтобы исправить это, вам нужно обновить numpy и scipy до последних версий.
pip install numpy —upgrade pip install scipy —upgrade
Dependency conflict between Python modules
Иногда может возникнуть конфликт между модулями Python, и этот конфликт может вызвать ModuleNotFoundError.
В следующем сообщении об ошибке четко указано, что файл _numpy_compat.py в библиотеке scipy пытается импортировать модуль numpy.testing.nosetester.
Traceback (последний последний вызов): файл «C: Users admin PycharmProjects demo-project venv Lib site-packages scipy _lib _numpy_compat.py», строка 10, из импорта numpy.testing.nosetester import_nose ModuleNotFoundError: нет модуля с именем ‘numpy.testing.nosetester’
ModuleNotFoundError возникает из-за того, что модуль numpy.testing.nosetester был удален из библиотеки numpy в версии 1.18. Чтобы исправить это, вы можете обновить библиотеки numpy и scipy до последних версий.
pip install numpy —upgrade pip install scipy —upgrade abcstudyguide
Python module is not installed
Первое, что нужно проверить, — установлен ли модуль Python. Чтобы использовать модуль в вашей программе Python, вы должны сначала установить его. Например, если вы попытаетесь использовать модуль numpy без его установки с помощью команды pip install, вы получите следующую ошибку.
Traceback (последний последний вызов): файл «», строка 1, в ModuleNotFoundError: нет модуля с именем ‘numpy’
Для установки необходимого модуля вы можете использовать следующую команду:
pip install numpy
или
pip3 устанавливает numpy
или, если вы используете Anaconda, вы можете использовать следующую команду:
conda установить numpy
Обратите внимание, что в вашей системе может быть установлено несколько экземпляров Python (или виртуальных сред). Убедитесь, что требуемый модуль установлен в правильном экземпляре Python.
- https://progi.pro/tensorflow-object-detection-api-dlya-windows-oshibka-modulenotfounderror-net-modulya-s-imenem-utils-5862069
- https://qna.habr.com/q/528044
- https://www.pythonpool.com/modulenotfounderror-no-module-named-_ctypes-solved/
- [https://PythonRu.com/baza-znanij/no-module-named]
- [https://abcstudyguide.com/solution-modulenotfounderror-no-module-named/]