Last updated: Apr 8, 2024
Reading timeยท11 min

To solve the Python "ModuleNotFoundError: No module named 'skbuild'", run the
pip3 install --upgrade pip command to upgrade pip and then install the
scikit-build module by running the pip install scikit-build command.

Open your terminal in your project's root directory and install the
scikit-build module.
# โ First upgrade pip pip3 install --upgrade pip # โ If you get a permissions error, run with sudo sudo pip3 install --upgrade pip # ๐๏ธ In a virtual environment or using Python 2 pip install scikit-build # ๐๏ธ For Python 3 (could also be pip3.10 depending on your version) pip3 install scikit-build # ๐๏ธ If you get a permissions error sudo pip3 install scikit-build pip install scikit-build --user # ๐๏ธ If you don't have pip in your PATH environment variable python -m pip install scikit-build # ๐๏ธ For Python 3 (could also be pip3.10 depending on your version) python3 -m pip install scikit-build # ๐๏ธ Using py alias (Windows) py -m pip install scikit-build # ๐๏ธ For Anaconda conda install -c conda-forge scikit-build # ๐๏ธ For Jupyter Notebook !pip install scikit-build
If you got the error when trying to
install OpenCV, make sure to upgrade pip
before installing opencv-python.
# โ First upgrade pip pip3 install --upgrade pip # โ If you get a permissions error, run with sudo sudo pip3 install --upgrade pip # โ Alternatives for upgrading pip # ๐๏ธ On Linux or MacOS python -m ensurepip --upgrade # ๐๏ธ Using python 3 python3 -m ensurepip --upgrade # ๐๏ธ On Windows py -m ensurepip --upgrade
Try running the pip install opencv-python command after upgrading pip and it
should succeed.
After installing scikit-build, you can import from skbuild as follows.
from skbuild import setup print(dir(setup))
The error occurs for multiple reasons:
scikit-build package installed by running
pip install scikit-build.pip.skbuild.py which would shadow the official module.skbuild which would shadow the imported
variable.If the error persists, get your Python version and make sure you are installing the package using the correct Python version.
python --version

For example, my Python version is 3.10.4, so I would install the scikit-build
package with pip3.10 install scikit-build.
pip3.10 install scikit-build # ๐๏ธ If you get a permissions error use pip3 (NOT pip3.X) sudo pip3 install scikit-build
Notice that the version number corresponds to the version of pip I'm using.
If the PATH for pip is not set up on your machine, replace pip with
python3 -m pip:
# ๐๏ธ Make sure to use your version of Python, e.g. 3.10 python3 -m pip install scikit-build
If the error persists, try restarting your IDE and development server/script.
You can
check if you have the scikit-build package installed
by running the pip show scikit-build command.
# ๐๏ธ Check if you have scikit-build installed pip show scikit-build # ๐๏ธ If you don't have pip set up in PATH python -m pip show scikit-build
The pip show scikit-build command will either state that the package is not
installed or show a bunch of information about the package, including the
location where the package is installed.
If the package is not installed, make sure your IDE is using the correct version of Python.
scikit-build package using the incorrect version or your IDE might be set up to use a different version.For example, In VSCode, you can press CTRL + Shift + P or (โ + Shift + P
on Mac) to open the command palette.
Then type "Python select interpreter" in the field.

Then Select the correct Python version from the dropdown menu.

If you are using a virtual environment, make sure you are installing
scikit-build in your virtual environment and not globally.
You can try creating a virtual environment if you don't already have one.
# ๐๏ธ Use the correct version of Python when creating VENV python3 -m venv venv # ๐๏ธ Activate on Unix or MacOS source venv/bin/activate # ๐๏ธ Activate on Windows (cmd.exe) venv\Scripts\activate.bat # ๐๏ธ Activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # ๐๏ธ Install scikit-build in your virtual environment pip install scikit-build
If the python3 -m venv venv command doesn't work, try the following 2
commands:
python -m venv venvpy -m venv venvYour virtual environment will use the version of Python that was used to create it.
skbuild.py because that would shadow the original skbuild module.You also shouldn't be declaring a variable named skbuild as that would also
shadow the original module.
If the error is not resolved, try to uninstall the scikit-build package and
then install it.
# ๐๏ธ Check if you have scikit-build installed pip show scikit-build # ๐๏ธ If you don't have pip set up in PATH python -m pip show scikit-build # ๐๏ธ Uninstall scikit-build pip uninstall scikit-build # ๐๏ธ If you don't have pip set up in PATH python -m pip uninstall scikit-build # ๐๏ธ Install scikit-build pip install scikit-build # ๐๏ธ If you don't have pip set up in PATH python -m pip install scikit-build
Try restarting your IDE and development server/script.
You can also try to upgrade the version of the scikit-build package.
pip install scikit-build --upgrade # ๐๏ธ If you don't have pip set up in PATH python -m pip install scikit-build --upgrade
scikit-build.To install the scikit-build module on Windows:
pip install scikit-build and press Enter.pip install scikit-build # ๐๏ธ For Python 3 pip3 install scikit-build # ๐๏ธ If you don't have pip in your PATH environment variable python -m pip install scikit-build # ๐๏ธ For Python 3 python3 -m pip install scikit-build # ๐๏ธ Using py alias py -m pip install scikit-build # ๐๏ธ If you get a permissions error pip install scikit-build --user # ๐๏ธ For Anaconda conda install -c conda-forge scikit-build

If the command doesn't succeed, try running CMD as an administrator.

If you get the error
'pip' is not recognized as an internal or external command,
use the python -m command when installing scikit-build.
python -m pip install scikit-build python3 -m pip install scikit-build py -m pip install scikit-build
Alternatively, you can install the scikit-build module in a virtual
environment:
Shift and right-click in Explorer.
# ๐๏ธ Might also be: "python3 -m venv venv" python -m venv venv # ๐๏ธ Activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # ๐๏ธ Activate on Windows (cmd.exe) venv\Scripts\activate.bat # ๐๏ธ Install scikit-build in your virtual environment pip install scikit-build
If the python -m venv venv command doesn't work, try the following 2 commands:
python3 -m venv venvpy -m venv venv.If you see an error message that ps1 cannot be loaded because running scripts is disabled on this system, run the following command, type "yes" when prompted and rerun the activation command.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
scikit-build module is installed by using the pip show scikit-build command.pip show scikit-build pip3 show scikit-build python -m pip show scikit-build python3 -m pip show scikit-build
The pip show scikit-build command will either state that the package is not
installed or show a bunch of information about the package, including the
location where the package is installed.
To install scikit-build on macOS or Linux:
pip install scikit-build and press Enter.
pip install scikit-build # ๐๏ธ For Python 3 pip3 install scikit-build # ๐๏ธ If you get a permissions error sudo pip3 install scikit-build # ๐๏ธ If you don't have pip in your PATH environment variable python -m pip install scikit-build # ๐๏ธ For Python 3 python3 -m pip install scikit-build # ๐๏ธ Alternative if you get a permissions error pip install scikit-build --user # ๐๏ธ For Anaconda conda install -c conda-forge scikit-build

If you are on Linux, make sure you have build-essential installed before
installing scikit-build.
sudo apt-get install build-essential
If you get an error that pip isn't found, use the python -m command.
python -m pip install scikit-build python3 -m pip install scikit-build
If you get a permissions error, prefix the command with sudo.
sudo pip install scikit-build sudo pip3 install scikit-build
Alternatively, you can install the scikit-build package in a virtual
environment:
# ๐๏ธ Could also be "python -m venv venv" python3 -m venv venv # ๐๏ธ Activate virtual env on macOS or Linux source venv/bin/activate # ๐๏ธ Install scikit-build in your virtual environment pip install scikit-build
Your virtual environment will use the version of Python that was used to create it.
python3 -m venv venv command doesn't work, use python -m venv venv instead.You can use the pip show command to verify
scikit-build has been installed
successfully.
pip show scikit-build pip3 show scikit-build python -m pip show scikit-build python3 -m pip show scikit-build
The pip show scikit-build command will either state that the package is not
installed or show a bunch of information about the package.
To install scikit-build in Visual Studio Code:
pip install scikit-build command to install the scikit-build
module.pip install scikit-build # ๐๏ธ For Python 3 pip3 install scikit-build # ๐๏ธ If you get a permissions error sudo pip3 install scikit-build # ๐๏ธ If you don't have pip in your PATH environment variable python -m pip install scikit-build # ๐๏ธ For Python 3 python3 -m pip install scikit-build # ๐๏ธ Using py alias py -m pip install scikit-build # ๐๏ธ Alternative if you get a permissions error pip install scikit-build --user

CTRL+Shift+P and then type "View: Toggle Terminal".When installing Python modules in Visual Studio code, make sure that your IDE is configured to use the correct Python version.
Press CTRL+Shift+P or (โ + Shift + P on Mac) to open the command
palette.
Then type "Python select interpreter" in the field.

Then Select the correct Python version from the dropdown menu.

You can use the python --version command if you need to get your version of
Python.
python --version python3 --version

You can also try creating a virtual environment if you don't already have one.
# ๐๏ธ Could also be "python -m venv venv" or "py -m venv venv" python3 -m venv venv # ๐๏ธ Activate on Unix or MacOS source venv/bin/activate # ๐๏ธ Activate on Windows (cmd.exe) venv\Scripts\activate.bat # ๐๏ธ Activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # ๐๏ธ Install scikit-build in your virtual environment pip install scikit-build
Your virtual environment will use the version of Python that was used to create it.
To install scikit-build in PyCharm:
Alt+F12 on your keyboard to open the terminal.pip install scikit-build command to install the scikit-build
module.pip install scikit-build # ๐๏ธ For Python 3 pip3 install scikit-build # ๐๏ธ If you get a permissions error sudo pip3 install scikit-build # ๐๏ธ If you don't have pip in your PATH environment variable python -m pip install scikit-build # ๐๏ธ For Python 3 python3 -m pip install scikit-build # ๐๏ธ Using py alias py -m pip install scikit-build # ๐๏ธ Alternative if you get a permissions error pip install scikit-build --user

Alternatively, you can use the IDE itself to install the module.
+ icon and type scikit-build.
Click on "File" > "Settings" > "Project" > "Python Interpreter".

Then Select the correct Python version from the dropdown menu.
You can use the python --version command if you need to get your version of
Python.
python --version python3 --version

To install scikit-build in Anaconda:
scikit-build in the search bar to the right.scikit-build package and click on "Apply".
Alternatively, you can install the scikit-build package with a command.
If you are on Windows, search for "Anaconda Prompt" and open the application.
If you are on macOS or Linux, open your terminal.
Run the following command to install the scikit-build package.
# ๐๏ธ Using conda conda install -c conda-forge scikit-build # ๐๏ธ Alternatively use `pip` pip install scikit-build # ๐๏ธ For Python 3 pip3 install scikit-build # ๐๏ธ If you get a permissions error sudo pip3 install scikit-build # ๐๏ธ If you don't have pip in your PATH environment variable python -m pip install scikit-build # ๐๏ธ For Python 3 python3 -m pip install scikit-build # ๐๏ธ Using py alias py -m pip install scikit-build # ๐๏ธ Alternative if you get a permissions error pip install scikit-build --user
Click on the following article if you need to install a specific version of the package using Anaconda.
To install scikit-build in Jupyter Notebook:


pip install scikit-build and press Enter.# ๐๏ธ Using pip pip install scikit-build # ๐๏ธ For Python 3 pip3 install scikit-build # ๐๏ธ If you get a permissions error sudo pip3 install scikit-build # ๐๏ธ If you don't have pip in your PATH environment variable python -m pip install scikit-build # ๐๏ธ For Python 3 python3 -m pip install scikit-build # ๐๏ธ Using py alias py -m pip install scikit-build # ๐๏ธ Using conda conda install -c conda-forge scikit-build # ๐๏ธ Alternative if you get a permissions error pip install scikit-build --user
Alternatively, you can use the Python ipykernel.

Click on "New" and then click on "Python 3 (ipykernel)".

Type !pip install scikit-build and click on "Run".

Note that the pip install command must be prefixed with an exclamation mark if
you use this approach.
!pip install scikit-build
Once you type the command, click "Run" to install the scikit-build module.
If you get a permissions error, e.g. "[WinError: 5] Access is denied", add the
--user option to the installation command.
!pip install scikit-build --user

If the error persists, try to restart the Jupyter Kernel and rerun the command.