Install Setuptools 49.1.3

ActiveState has made it easy to install the latest version of Setuptools. Copy and paste the snippet below into your terminal to install a verified, built-from-source version of Setuptools from ActiveState's free repository. We've taken care of all the dependencies so you don't have to.

Setuptools Logo

Run the following command in your terminal

pip3 install --index-url Setuptools==49.1.3

The --index-url parameter tells pip to install the package from ActiveState's repository.

Built for

  • OSX
  • Linux
  • Windows

Compatible with

Compatible with 3.7, 3.8 & 3.9

Why install Python packages from ActiveState?

/ conda

Built from source code

We build all packages from known and vetted source code. The source code is stored indefinitely on our secure supply chain. This reduces the likelihood of specific types of exploits while eliminating typosquatting.


Support for OS-level dependencies

Artifact dependencies extend to the operating-system level. For example, when building XML libraries for Python, we also build Expat from its C source files.

Vetted new source releases

Source is updated as new versions are released, but after a manual and automatic review process and at 24-48 hour delay compared to the main public repository.


Artifacts built for Linux, MacOS, Windows

Isolated and ephemeral build environments

Build stages are conducted in single-use build environments that are discarded after the build is complete. Builds are run automatically based on known and version-controlled configurations.


Revision-controlled build history

The ActiveState Platform maintains a catalog of all source code used to build artifacts, along with all available metadata. This information is revision-controlled and immutable (except when a change is essential for security or privacy reasons).


Machine-readable SBOM

We store all provenance metadata available for all artifacts, exposing it as machine-readable SBOM files.

Supply chain levels for Software Artifacts (SLSA) Level 4

SLSA is led by an initial cross-organization, vendor-neutral steering group committed to improving the security ecosystem for everyone. SLSA Level 4 requires two-person review of all changes and a hermetic, reproducible build process.

Get these features and more with the ActiveState Platform.

Our enterprise-grade platform can help streamline your Python, Perl & Tcl workflows.

Create a free account

97% of the Fortune 1000 companies use ActiveState

For more than 20 years, ActiveState has been making open source easier, more secure, and less risky.

Cisco Logo
Tesco Logo
Verizon Logo
Texas Instruments Logo
Toyota Logo
Capital One Logo
Siemens Logo

Frequently Asked Questions

What is Setuptools?

Setuptools is a fully-featured, actively-maintained, and stable library designed to facilitate packaging Python projects. It’s recommended by the Python Packaging Authority (PyPA) to help simplify the way users install packages.

Which Python versions are compatible with Setuptools?

The setuptools lib is compatible with Python 3.6 and later. The latest versions of setuptools do not work with Python 2.7.

What dependencies does Setuptools have?

Setuptools has the following dependencies, which will be installed automatically when installing Setuptools.

  • Wheel (whl)
How do you install Setuptools globally and in a virtual environment?
Installing Setuptools Globally

Copy (either ctrl+c or just click the “copy” button) and paste the snippet at the top of this page into your command line. As with all Python packages installed with Python’s default package manager, pip, Setuptools will be installed to %PYTHONHOME%/site-packages.

Installing Setuptools in a Virtual Environment

You can also work in a virtual environment to prevent conflicts. You can use pip to install a specific version of the Setuptools package into a virtual environment  for Python 3 projects with the following command:

python3 -m venv <path_to_env>

venv will create a virtual Python installation in the <env_name> folder.

Activate <env_name> with the following command:

On Linux

source <env_name>/bin/activate

On Windows

You can pip install Setuptools into your virtual environment with the following command:

python -m pip install setuptools

Where does Setuptools install to?

As with all Python packages installed with pip, Setuptools will be installed to %PYTHONHOME%/site-packages. This will always be true for global installations of setuptools. If you’re using a virtual environment (like virtualenv), setuptools will be installed differently, depending (for example) on where you created the directory (dir) for your virtual environment.

Does Setuptools work on Windows, Linux and Mac?

Yes, Setuptools will work Windows, Mac, and Linux (Ubuntu, CentOS, RHEL, Debian, and other flavors of unix).

How is Setuptools commonly used?

Setuptools is commonly used by package authors and maintainers to easily build and distribute Python modules via or the Python Package Index (PyPI repo), especially ones that have dependencies on other packages.

Feature Highlights:

  • Create a Python egg, which is a single-file importable distribution format.
  • Create a source distribution (sdist) for a specific version of Python
  • Enhanced support for accessing data files hosted in zipped (tar.gz) packages.
  • Automatically include all packages in your source tree, without listing them individually in
  • Automatically include all relevant files in your source distributions without needing to create a file, and without having to force regeneration of the MANIFEST file when your source tree changes.
  • Automatically generate wrapper scripts for Windows (console and GUI) .exe files for any number of “main” functions in your project.
    • Note: this is not a py2exe replacement since the .exe files rely on the local Python installation.
  • Transparent Cython support, so that your can list .pyx files and still work even when the end-user doesn’t have Cython installed (as long as you include the Cython-generated C in your source distribution)
  • Command aliases, including the ability to create project-specific, per-user, or site-wide shortcut names for commonly used commands and options.
  • Deploy your project in “development mode”, such that it’s available on sys.path, yet can still be edited directly from its source checkout.
  • Easily extend the distutils with new commands or setup() arguments, and distribute/reuse your extensions for multiple projects, without copying code.
  • Create extensible applications and frameworks that automatically discover extensions, using simple “entry points” declared in a project’s setup script.
  • Full support for PEP 420 via find_namespace_packages(), which is also backwards compatible to the existing find_packages() for Python >= 3.3.

Read the docs.