In the Python Packages tool window, search for numpy and click Install. PyCharm adds the package to the interpreter selected for the project, and that last bit is where most of the trouble starts.
pip writes packages only into the Python it belongs to, according to the NumPy installation guide. PyCharm also gives the Python Console and each run configuration their own interpreter fields (JetBrains documentation).
So NumPy installed for one interpreter stays invisible to any console or script pointed at another. That mismatch is the usual cause of a No module named numpy error right after an install that looked fine.
What do you need before installing NumPy in PyCharm?
A project interpreter, first of all. PyCharm needs at least one configured, and every package install targets a specific interpreter (JetBrains PyCharm 2026.2 Help).
After that, your Python version has to sit inside the range the NumPy release declares, and pip needs a route to PyPI unless you point it at a different index. Get either wrong and the install fails or lands somewhere you didn’t intend.
Python compatibility decides which NumPy release pip can install. NumPy 2.1.0 dropped Python 3.9 in August 2024, so a project on 3.9 tops out at the 2.0 series. NumPy 2.5.0 did the same for Python 3.11 in June 2026, so a project on 3.11 tops out at the 2.4 series (numpy.org news).
Moving the project to a newer base interpreter is usually quicker than hunting for an old release. The steps for changing the Python version in PyCharm cover that switch.
Current version support, for reference:
- NumPy 2.5.3 (September 2026) supports Python 3.12 to 3.15 (NumPy release notes on GitHub)
- NumPy 2.4.6 (May 2026), the latest 2.4 release, supports Python 3.11 to 3.14 (NumPy release notes on GitHub)
- NumPy 2.2 (December 2024) supports Python 3.10 to 3.13 (numpy.org news)
- Default package manager in PyCharm: pip (JetBrains PyCharm 2026.2 Help)
- Pro trial bundled with unified PyCharm: 30 days (JetBrains PyCharm 2025.3 Help)
Since PyCharm 2025.1, Community and Professional ship as one unified product with a free core. Pro adds remote interpreters over SSH, Docker, Docker Compose and WSL, none of which a local NumPy install needs.
If you’re curious how the old Community and Professional editions differed, there’s a separate breakdown of PyCharm Community vs Professional.
Which interpreter does PyCharm install NumPy into?
Whichever one is selected for the current project. You can see it in the Python Interpreter selector on the status bar.
pip writes packages into the site-packages folder of the Python it belongs to and nowhere else, according to the NumPy installation guide. Pick the wrong interpreter and the package exists, just not where your code runs.
A project venv is listed first in the New Project dialog and it’s the right target for NumPy. PyCharm bundles the virtualenv tool, so there’s nothing extra to install, and every project keeps its own package set.
No environment yet? Creating a virtual environment in PyCharm takes a single dialog.
The system interpreter is shared by every project, so one NumPy upgrade changes all of them. Some Linux distributions block pip installs into system Python outright, which makes it a poor choice anyway.
Conda is the odd one out. It installs Python itself plus non-Python libraries like compilers, CUDA and HDF5, which pip can’t do (NumPy installation guide). Packages come from the defaults or conda-forge channels, and the defaults build of NumPy links against Intel MKL while PyPI wheels use OpenBLAS.
To see which interpreter is active right now:
- Click the Python Interpreter selector on the status bar.
- Choose Interpreter Settings.
- Read the interpreter name and path shown for the project.
A project opened without accepting PyCharm’s suggestion to create a virtual environment has no interpreter at all (JetBrains). Adding a Python interpreter in PyCharm starts from the same selector, under Add New Interpreter.
Choosing an installation method for NumPy in PyCharm
For one package in a fresh venv, the Python Packages tool window is plenty. The other routes make sense when you need pip flags, a shared dependency file or a Conda environment.
| Method | Best for | Targets | Main limitation |
|---|---|---|---|
| Python Packages tool window | One package, fast | Interpreter in the status bar selector | Wrong selector choice means wrong target |
| Interpreter settings | Full package list, version picks, upgrades | Interpreter chosen in Settings | Slower for a single install |
| Terminal with pip | Custom flags, custom index, scripts | Python of the terminal’s active environment | Can sit in a different environment than the project |
| requirements.txt | Repeatable installs on other machines | Project interpreter | File must stay current |
| Conda | Conda environments, non-Python libraries | The Conda environment | Builds differ from PyPI wheels |
Terminal pip looks like the obvious default because most tutorials use it. I’d still start with the tool window, since it always installs into the interpreter selected for the project (JetBrains PyCharm 2026.2 Help).
NumPy’s own installation page tells unsure users to start with an environment-based install using Conda or pip. If your team hasn’t settled on venv, Conda or Poetry for the whole project yet, sort that out first with this comparison of venv, Conda and Poetry.
How to install NumPy in PyCharm step by step

Open the Python Packages tool window, search for numpy, and click Install. The other routes below end up in the same place through different dialogs.
The same flow works for any other library, so the general walkthrough for installing packages in PyCharm applies unchanged.
Install NumPy with the Python Packages tool window
- Confirm the status bar selector shows the interpreter your project should use.
- Open View > Tool Windows > Python Packages, or click Python Packages in the left toolbar.
- Type numpy in the search field.
- Select numpy from the PyPI results. Leave the version on latest, or pick one from the version list.
- Click Install and wait for the progress bar to finish.
- Check that numpy now appears in the installed packages list.
The tool window searches PyPI, and it also lists packages from the Conda repository when the selected interpreter is a Conda environment (JetBrains PyCharm 2026.2 Help).
Install NumPy from the interpreter settings
This one is handy when you want the whole installed package list in front of you.
- Press Ctrl+Alt+S and go to Python > Interpreter (on macOS, open PyCharm > Settings)
- Click Install on the package list toolbar
- Search for numpy, select it, and confirm
- Close the dialog once numpy shows in the list
Install NumPy with pip in the Terminal
Open the Terminal tool window (Alt+F12) and look at the prompt before typing anything. If opening the terminal in PyCharm gives you a prompt starting with (.venv) or (venv), the project environment is active.
pip install numpyIf the pip command is not found, run the module form instead.
python -m pip install numpyYou get full control over pip flags this way, but nothing stops the command from installing into a different Python than the one your project uses.
Install NumPy from requirements.txt
Add a line reading numpy to the requirements.txt file in the project root. PyCharm detects the file and offers to install the packages listed in it (JetBrains).
- Accept the prompt in the editor banner
- Or run pip install -r requirements.txt in the Terminal
An unpinned numpy line installs the newest release the interpreter’s Python version allows.
Install NumPy in a Conda environment
Select the Conda environment as the project interpreter first. Everything else follows from that choice.
In the tool window, search numpy and install it from the Conda repository listing. In the Terminal, run conda install numpy, which pulls from the defaults or conda-forge channel (NumPy installation guide).
For a brand new environment, the NumPy guide’s sequence is conda create -n my-env, then conda activate my-env, then conda install numpy.
Pinning, upgrading and choosing a package source
Pick a version from the list before clicking Install, pin it with == in requirements.txt, and add a custom repository under Package Repositories when PyPI is off limits.
pip installs the newest release that satisfies the constraints you give it, according to the pip documentation. No constraint means the latest compatible NumPy.
Install a specific NumPy version
In the Python Packages tool window, select numpy, choose the release from the version list, then click Install. In the interpreter settings, tick Specify version in the Available Packages dialog and pick the release there. For requirements.txt, write the constraint straight on the numpy line.
| Specifier | Installs | Typical use |
|---|---|---|
| numpy==2.5.3 | Exactly that release | Reproducing a teammate’s environment |
| numpy>=2.0,<3 | Newest 2.x release allowed | Libraries that tolerate minor updates |
| numpy~=2.5.0 | 2.5.x patch releases only | Staying on one feature series |
In the Terminal, quote any specifier that contains greater-than or less-than signs, as in pip install “numpy>=2.0,<3”. Inside requirements.txt, leave the quotes out (pip documentation).
Upgrade NumPy
PyCharm shows the installed version next to the latest stable one and flags outdated packages (JetBrains documentation).
- In the tool window, click the Update button next to numpy
- In the interpreter settings, select numpy, click Upgrade on the toolbar, then OK
- In the Terminal, run pip install –upgrade numpy
The Latest version column lists stable releases only until you click Show early releases, which adds betas and release candidates.
Mind the major version, though. NumPy 2.0.0, released June 16, 2024, was the first major release since 2006 and changed the ABI along with the Python and C APIs (numpy.org news). Libraries compiled against 1.x need their own updates before you make the jump.
Install from a custom repository
PyCharm can search a custom repository, such as devpi or a private PyPI server, alongside the default sources (JetBrains documentation).
Add one from Options in the Python Packages tool window, or under Settings > Python > Package Repositories. The form asks for a name (the label PyCharm displays), the repository URL, and authorization, which is either None or Basic HTTP with a login and password.
For a single install, pass –index-url through the Install with Options dialog or the Terminal instead.
One gotcha. PyCharm skips a disabled repository entirely when it searches for packages, so an unchecked box looks exactly like a missing package.
How to verify the NumPy installation
If import numpy runs and numpy.\_\version\\_ prints a version string, NumPy is importable from that interpreter.
import numpy as np
print(np.__version__)Run those two lines wherever your code actually executes.
- A scratch .py file, run from the editor
- The Python Console, where each line runs as you type it
- The Terminal, using python -c “import numpy; print(numpy.\_\version\\_)”
- The package list under Settings > Python > Interpreter, where numpy shows up with Version and Latest version columns
Running the scratch file follows the usual steps for running code in PyCharm.
One pass proves less than it looks like. The Python Console has its own Python Interpreter field under Settings > Build, Execution, Deployment > Console > Python Console, and every run configuration carries an interpreter field too (JetBrains documentation).
A script can import NumPy while the console fails, or the other way around. Either one can point at a different interpreter from the project’s.
Why does PyCharm still say “No module named numpy”?
Because the code runs under an interpreter that doesn’t hold NumPy. The install itself usually worked fine, just somewhere else.
| Error | Cause | Fix |
|---|---|---|
| ModuleNotFoundError: No module named numpy | Code runs under an interpreter without NumPy | Point the run configuration, console and project at the interpreter that holds it |
| pip is not recognized | Shell cannot find pip on PATH | Use the Terminal opened inside the project, or the Python Packages tool window |
| error: externally-managed-environment | Interpreter is a distro-managed system Python | Switch the project to its own venv and install there |
| Timeout, SSL or connection error | Proxy or firewall blocks PyPI | Pass pip’s proxy option, or add a custom repository |
| No matching distribution found | No NumPy release fits this Python version | Relax the pin or move to a supported Python |
To diagnose a mismatch, run import sys; print(sys.executable) in the failing script, console or Terminal, then compare the printed path with the interpreter path in Settings > Python > Interpreter.
When the paths differ, NumPy went into the other one.
With “pip is not recognized”, the shell can’t find pip on PATH. The Python Packages tool window installs for the selected interpreter without that shell lookup, and when the interpreter itself lacks pip, the guide to installing pip in PyCharm covers that case.
The externally managed error comes from PEP 668, which defines exactly when pip refuses to install:
- pip runs outside a virtual environment
- An EXTERNALLY-MANAGED marker file sits in the interpreter’s standard library directory
Both conditions together produce the error and a pointer to virtual environments. A project venv is exempt, and so are Conda environments, where pip behaves as it did before.
The override flag –break-system-packages exists, but PEP 668 asks for it to stay off by default and carry a risky connotation. The marker also blocks pip install –user, because user installs land on the system interpreter’s path.
Proxy and network failures bring up an error popup in PyCharm that points to its Troubleshooting guide (JetBrains). pip’s –proxy option takes the form scheme://[user:passwd@]proxy.server:port, and the Install with Options dialog in the Python Packages tool window passes it through.
For “No matching distribution found”, pip has no wheel for that combination of release and Python version. A pinned older release on a newer Python sends pip to a source build or stops it outright.
If nothing else works, remember that a venv built on an interpreter that was later removed stays broken. Deleting the broken venv and creating a fresh one is faster than repairing it, and the Python Packages tool window then reinstalls NumPy in one step.
Installing NumPy in PyCharm FAQ
How do I uninstall NumPy in PyCharm?
Open the Python Packages tool window and click the Uninstall package button next to numpy.
In the interpreter settings, select numpy in the package list and click Uninstall on the toolbar (JetBrains documentation). In the Terminal, run pip uninstall numpy.
Does NumPy have to be installed again for every new project?
Yes, whenever the new project gets its own venv, because PyCharm keeps a separate package set for each interpreter.
To skip the reinstall, create one venv with NumPy and select it as the interpreter in other projects, or tick Make available to all projects when creating it (JetBrains documentation).
Can I install NumPy from a downloaded file?
Yes. Click the Advanced Package Install button beside the search bar in the Python Packages tool window and enter the path to a package directory or an archive (zip or whl).
Pick a wheel built for your Python version and operating system. A mismatched wheel is rejected.
Does the install command differ on Windows, macOS and Linux?
No. Inside an activated project venv, pip install numpy is the same on all three (NumPy installation guide).
The guide also lists brew, apt and choco commands. Those install through the operating system, outside a default project venv, so skip them for a PyCharm project.
Can I install NumPy together with other packages in one step?
Yes. List each package on its own line in requirements.txt, and PyCharm prompts you to install everything in the file.
In the Terminal, a single pip install command takes several package names separated by spaces.
Carrying the NumPy Setup to Another Machine
Run pip freeze > requirements.txt in the PyCharm Terminal, add the file to the project on the other machine, and PyCharm prompts to install every listed package, NumPy included (JetBrains documentation, PyCharm 2026.2).
The file records exact == pins, so it reproduces your installed releases instead of whatever PyPI offers on the day. A bare numpy line resolves differently, because pip picks the newest release that fits the target machine’s Python version.
Freeze the working venv before anything else, since later installs change the output. Then make sure the other machine runs a matching Python version, because a pin outside the supported range stops the install. Commit the requirements file last.
The catch with exact pins is that they hold NumPy at one release until someone edits the line.
Keep the file next to the code under source control, so every machine installs from the same record.
- Show Hidden Characters, Spaces, and Line Endings in Notepad++ - October 19, 2026
- Military and Defense UI/UX Design Services Firms to Know in 2026 - October 19, 2026
- How to Manage Your Google Play Subscriptions - October 17, 2026



