Prerequisites
To run Pants, you need:
- One of:
- Linux (x86_64)
- MacOS (Intel or Apple Silicon, 10.15 Catalina or newer)
- Microsoft Windows 10 with WSL 2
- Python 3.7+ discoverable on your
PATH
- Internet access (so that Pants can fully bootstrap itself)
Pants requires Python 3.7+ to run itself, but it can build your Python 2 and Python 3.6 or earlier code.
See Proxies for instructions.
System-specific notes
Linux
On Ubuntu you may need to run:
apt install -y python3-dev python3-distutils
.
Pants for Linux is currently distributed as a manylinux wheel. Alpine Linux is not covered by manylinux (it uses MUSL libc while manylinux requires glibc), so at present Pants will not run on Alpine Linux.
If you need to run Pants on Alpine, let us know, so we can prioritize this work. Meanwhile, you can try building Pants yourself on Alpine.
Pants for Linux is currently only distributed as an x86_64 wheel.
If you need to run Pants on ARM, please upvote or comment on this issue so we can prioritize this work. Meanwhile, you can try building Pants yourself on ARM.
MacOS
We publish a macOS arm64
wheel for Python 3.9. Make sure you have Python 3.9 discoverable on your $PATH
, e.g. via Homebrew or Pyenv, and an updated version of the ./pants
runner script.
Given the lack of CI infrastructure for Apple Silicon, this support is best-effort and there may a delay in publishing this wheel compared to our normal releases.
If you have Python code, you may need to set your interpreter constraints to Python 3.9+, as many tools like Black will not install correctly when using earlier Python versions.
Some users have also had success with earlier versions using Rosetta by running arch -x86_64 pants
.
Microsoft Windows
Pants runs on Windows 10 under the Windows Subsystem for Linux (WSL):
- Follow these instructions to install WSL 2.
- Install a recent Linux distribution under WSL 2 (we have tested with Ubuntu 20.04 LTS).
- Run
sudo apt install unzip python3-dev python3-distutils python3-venv gcc
in the distribution. - You can then run Pants commands in a Linux shell, or in a Windows shell by prefixing with
wsl
.