Python not find module

Решение ошибки «ModuleNotFoundError: No module named ‘…’»

В Python может быть несколько причин возникновения ошибки ModuleNotFoundError: No module named . :

  • Модуль Python не установлен.
  • Есть конфликт в названиях пакета и модуля.
  • Есть конфликт зависимости модулей Python.

Рассмотрим варианты их решения.

Модуль не установлен

В первую очередь нужно проверить, установлен ли модуль. Для использования модуля в программе его нужно установить. Например, если попробовать использовать numpy без установки с помощью pip install будет следующая ошибка:

Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'numpy'

Для установки нужного модуля используйте следующую команду:

pip install numpy # или pip3 install numpy

Или вот эту если используете Anaconda:

Учтите, что может быть несколько экземпляров Python (или виртуальных сред) в системе. Модуль нужно устанавливать в определенный экземпляр.

Конфликт имен библиотеки и модуля

Еще одна причина ошибки No module named — конфликт в названиях пакета и модуля. Предположим, есть следующая структура проекта Python:

demo-project └───utils __init__.py string_utils.py utils.py

Если использовать следующую инструкцию импорта файла utils.py, то Python вернет ошибку ModuleNotFoundError .

 
>>> import utils.string_utils
Traceback (most recent call last):
File "C:\demo-project\utils\utils.py", line 1, in
import utils.string_utils
ModuleNotFoundError: No module named 'utils.string_utils';
'utils' is not a package

В сообщении об ошибке сказано, что «utils is not a package». utils — это имя пакета, но это также и имя модуля. Это приводит к конфликту, когда имя модуля перекрывает имя пакета/библиотеки. Для его разрешения нужно переименовать файл utils.py.

Конфликт зависимостей модулей Python

Иногда может существовать конфликт модулей Python, который и приводит к ошибке No module named.

Следующее сообщение явно указывает, что _numpy_compat.py в библиотеке scipy пытается импортировать модуль numpy.testing.nosetester .

Traceback (most recent call last): File "C:\demo-project\venv\ Lib\site-packages\ scipy\_lib\_numpy_compat.py", line 10, in from numpy.testing.nosetester import import_nose ModuleNotFoundError: No module named 'numpy.testing.nosetester'

Ошибка ModuleNotFoundError возникает из-за того, что модуль numpy.testing.nosetester удален из библиотеки в версии 1.18. Для решения этой проблемы нужно обновить numpy и scipy до последних версий.

pip install numpy --upgrade pip install scipy --upgrade 

Источник

Решение ошибки «ModuleNotFoundError: No module named ‘…’»

В Python может быть несколько причин возникновения ошибки ModuleNotFoundError: No module named . :

  • Модуль Python не установлен.
  • Есть конфликт в названиях пакета и модуля.
  • Есть конфликт зависимости модулей Python.

Рассмотрим варианты их решения.

Модуль не установлен

В первую очередь нужно проверить, установлен ли модуль. Для использования модуля в программе его нужно установить. Например, если попробовать использовать numpy без установки с помощью pip install будет следующая ошибка:

Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'numpy'

Для установки нужного модуля используйте следующую команду:

pip install numpy # или pip3 install numpy

Или вот эту если используете Anaconda:

Учтите, что может быть несколько экземпляров Python (или виртуальных сред) в системе. Модуль нужно устанавливать в определенный экземпляр.

Конфликт имен библиотеки и модуля

Еще одна причина ошибки No module named — конфликт в названиях пакета и модуля. Предположим, есть следующая структура проекта Python:

demo-project └───utils __init__.py string_utils.py utils.py

Если использовать следующую инструкцию импорта файла utils.py, то Python вернет ошибку ModuleNotFoundError .

 
>>> import utils.string_utils
Traceback (most recent call last):
File "C:\demo-project\utils\utils.py", line 1, in
import utils.string_utils
ModuleNotFoundError: No module named 'utils.string_utils';
'utils' is not a package

В сообщении об ошибке сказано, что «utils is not a package». utils — это имя пакета, но это также и имя модуля. Это приводит к конфликту, когда имя модуля перекрывает имя пакета/библиотеки. Для его разрешения нужно переименовать файл utils.py.

Конфликт зависимостей модулей Python

Иногда может существовать конфликт модулей Python, который и приводит к ошибке No module named.

Следующее сообщение явно указывает, что _numpy_compat.py в библиотеке scipy пытается импортировать модуль numpy.testing.nosetester .

Traceback (most recent call last): File "C:\demo-project\venv\ Lib\site-packages\ scipy\_lib\_numpy_compat.py", line 10, in from numpy.testing.nosetester import import_nose ModuleNotFoundError: No module named 'numpy.testing.nosetester'

Ошибка ModuleNotFoundError возникает из-за того, что модуль numpy.testing.nosetester удален из библиотеки в версии 1.18. Для решения этой проблемы нужно обновить numpy и scipy до последних версий.

pip install numpy --upgrade pip install scipy --upgrade 

Источник

ModuleNotFoundError: no module named Python Error [Fixed]

Dillion Megida

Dillion Megida

ModuleNotFoundError: no module named Python Error [Fixed]

When you try to import a module in a Python file, Python tries to resolve this module in several ways. Sometimes, Python throws the ModuleNotFoundError afterward. What does this error mean in Python?

As the name implies, this error occurs when you're trying to access or use a module that cannot be found. In the case of the title, the "module named Python" cannot be found.

Python here can be any module. Here's an error when I try to import a numpys module that cannot be found:

Here's what the error looks like:

image-341

Here are a few reasons why a module may not be found:

  • you do not have the module you tried importing installed on your computer
  • you spelled a module incorrectly (which still links back to the previous point, that the misspelled module is not installed). for example, spelling numpy as numpys during import
  • you use an incorrect casing for a module (which still links back to the first point). for example, spelling numpy as NumPy during import will throw the module not found error as both modules are "not the same"
  • you are importing a module using the wrong path

How to fix the ModuleNotFoundError in Python

As I mentioned in the previous section, there are a couple of reasons a module may not be found. Here are some solutions.

1. Make sure imported modules are installed

Take for example, numpy . You use this module in your code in a file called "test.py" like this:

import numpy as np arr = np.array([1, 2, 3]) print(arr) 

If you try to run this code with python test.py and you get this error:

ModuleNotFoundError: No module named "numpy" 

Then it's most likely possible that the numpy module is not installed on your device. You can install the module like this:

python -m pip install numpy 

When installed, the previous code will work correctly and you get the result printed in your terminal:

2. Make sure modules are spelled correctly

In some cases, you may have installed the module you need, but trying to use it still throws the ModuleNotFound error. In such cases, it could be that you spelled it incorrectly. Take, for example, this code:

import nompy as np arr = np.array([1, 2, 3]) print(arr) 

Here, you have installed numpy but running the above code throws this error:

ModuleNotFoundError: No module named "nompy" 

This error comes as a result of the misspelled numpy module as nompy (with the letter o instead of u). You can fix this error by spelling the module correctly.

3. Make sure modules are in the right casing

Similar to the misspelling issue for module not found errors, it could also be that you are spelling the module correctly, but in the wrong casing. Here's an example:

import Numpy as np arr = np.array([1, 2, 3]) print(arr) 

For this code, you have numpy installed but running the above code will throw this error:

ModuleNotFoundError: No module named 'Numpy' 

Due to casing differences, numpy and Numpy are different modules. You can fix this error by spelling the module in the right casing.

4. Make sure you use the right paths

In Python, you can import modules from other files using absolute or relative paths. For this example, I'll focus on absolute paths.

When you try to access a module from the wrong path, you will also get the module not found here. Here's an example:

Let's say you have a project folder called test. In it, you have two folders demoA and demoB.

demoA has an __init__.py file (to show it's a Python package) and a test1.py module.

demoA also has an __init__.py file and a test2.py module.

└── test ├── demoA ├── __init__.py │ ├── test1.py └── demoB ├── __init__.py ├── test2.py 

Here are the contents of test1.py :

And let's say you want to use this declared hello function in test2.py . The following code will throw a module not found error:

import demoA.test as test1 test1.hello() 

This code will throw the following error:

ModuleNotFoundError: No module named 'demoA.test' 

The reason for this is that we have used the wrong path to access the test1 module. The right path should be demoA.test1 . When you correct that, the code works:

import demoA.test1 as test1 test1.hello() # hello 

Wrapping up

For resolving an imported module, Python checks places like the inbuilt library, installed modules, and modules in the current project. If it's unable to resolve that module, it throws the ModuleNotFoundError.

Sometimes you do not have that module installed, so you have to install it. Sometimes it's a misspelled module, or the naming with the wrong casing, or a wrong path. In this article, I've shown four possible ways of fixing this error if you experience it.

I hope you learned from it 🙂

Dillion Megida

Dillion Megida

Developer Advocate and Content Creator passionate about sharing my knowledge on Tech. I simplify JavaScript / ReactJS / NodeJS / Frameworks / TypeScript / et al My YT channel: youtube.com/c/deeecode

If you read this far, tweet to the author to show them you care. Tweet a thanks

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

freeCodeCamp is a donor-supported tax-exempt 501(c)(3) charity organization (United States Federal Tax Identification Number: 82-0779546)

Our mission: to help people learn to code for free. We accomplish this by creating thousands of videos, articles, and interactive coding lessons - all freely available to the public. We also have thousands of freeCodeCamp study groups around the world.

Donations to freeCodeCamp go toward our education initiatives, and help pay for servers, services, and staff.

Источник

How To Solve ModuleNotFoundError in Python

This python tutorial help to solve “Module Not Found Error” for python. The reasons for this error and how to solve it.

We will discussed one by one possible reason for module not found.

Python module is no imported

The module method has been used but forget to include main module, We need to import that module.

We will get below error as a output:

Traceback (most recent call last): File "", line 3, in NameError: name 'math' is not defined

Correct way to use math module witn in app.py file:

Python module is not Installed

You can get the issue when you are trying to import a module of a library which not installed in your virtual environment. So before importing a library’s module, you need to install it with the pip command.

Let’s import an module(requests) into app.py file which is not installed into our virtual environment:

r = requests.get('http://dummy.restapiexample.com/api/v1/employee/2') print(r)
Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'requests'

Now, let’s install the library:

The name of the module is incorrect

The other possible reason might be module name is incorrect in import. We just make sure module name is correct into import syntax.

For example, let’s try to import math module with extra a and see what will happen:

>>> import matha Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'matha'

As you can see above console output, The python does not found named ‘matha’ module.

path of the module is incorrect

We have import module into the python application but path is not correct, we need to set correct path of missed module.

Python Folder Structure:

Let’s, we will import gapi.py as like below:

We will get output as like below:

ModuleNotFoundError: No module named 'gapi'

Correct way to import a file into app.py :

import services.gapi.py #correct

Источник

Читайте также:  Java new integer string
Оцените статью