In Python, it is easy to come across the ModuleNotFoundError: No module named scipy. It happens when the module is imported without the package installation. Installing the packaging in the unsuitable environment also leads to this error.
This article will help you solve this problem in different operating systems.
What Is ModuleNotFoundError: No Module Named ‘scipy’ In Python?
This runtime error arises from various reasons. If you try to use the scipy module without proper installation, you will surely run into the problem.
The IDE in the wrong version of Python and Python interpreter is also another possible cause. Plus, the error occurs when you are working in the virtual environment without a scipy module.
Don’t try to declare a variable as the module name, as it will result in the error.
How To Fix ModuleNotFoundError: No Module Named ‘scipy’ In Python
Method 1: Install The Library Scipy
Python’s failure to support scipy in its standard library is one of the most likely reasons for this problem. Thus, you need to install the library first.
To import the Pandas module, install scipy with the Python pip package manager. Then run the $ pip install scipy command in Windows shell to solve the issue.
This command allows you to install scipy in any virtual environment including Linux, MacOS, and Windows.
Method 2: Fix The Path
If after installing the scipy library, the error still persists, this is because your installed pip doesn’t stay in your using path. While pip can be installed on your operating system, the script fails to locate it.
In Windows, you should open the folder of Python installation by running the command prompt and typing where python. Then, browse and copy the Scripts folder’s location while verifying its inclusion of the pip file.
Now it’s time to use the cd command and the previously copied location to open the Scripts directory. Install the library in the correct path by using the pip install scipy command.
Method 3: Install Scipy Inside The Virtual Environment
Syper, PyCharm, Anaconda, Jupyter Notebook, and other IDEs install their own Python virtual environment to keep data tidy and separated from the global one.
To solve the error, you should also create one. In your virtual environment, make sure that the scipy module is installed inside it, instead of globally.
Creating and activating a virtual environment should not cause you any difficulty. Here is the code for the whole process, including the pip installation:
# Create a virtual Environment py -3 -m venv venv # Activate the virtual environment (windows command) venv\Scripts\activate.bat # Activate the virtual environment (windows powershell) venv\Scripts\Activate.ps1 # Activate the virtual environment (Linux) source venv/bin/activate # Install scipy inside the virtual environment pip install scipy
Method 4: Module Name Should Not Be Declared Name As A Variable
Cross-check is necessary to make sure that you don’t declare a variable with the same module name. If you use the same file name as scipy.py, it is likely that the original module will be shadows.
The ModuleNotFoundError: No module named ‘scipy’ arises from various reasons, thus it is hard to avoid this one. Yet, you can employ any methods mentioned above to resolve the issue.