- User
- Which Microsoft Visual C++ compiler to use with a specific Python version ?
- Distutils notes
- Compilers Installation and configuration
- Microsoft Visual C++ 14.x with Visual Studio 2022 (x86, x64, ARM, ARM64)
- Microsoft Visual C++ 14.2 standalone: Build Tools for Visual Studio 2019 (x86, x64, ARM, ARM64)
- PyBuilder
- News
- New Features in 0.13.3
- Version 0.13.0 Released!
- PyBuilder GitHub Action Released!
- Get started
- Install PyBuilder
- Read the Tutorial
- Watch the Presentation
- pybuilder 0.13.10
- Навигация
- Ссылки проекта
- Статистика
- Метаданные
- Сопровождающие
- Классификаторы
- Описание проекта
- PyBuilder — an easy-to-use build automation tool for Python
- Installing
- Getting started
- Release Notes
User
Even though Python is an interpreted language, you may need to install Windows C++ compilers in some cases. Unlike Linux, compilers for Windows are not included by default in the OS.
- Install a non-pure Python package from sources with Pip (if there is no Wheel package provided).
- Compile a Cython or Pyrex file.
Microsoft provides official C++ compilers called Visual C++, you can find them bundled with Visual Studio or, for some versions, in standalone distributions. Some alternative compilers exist like MinGW, but incompatibilities may occur with a CPython official distribution that is built with Microsoft Visual C++.
The compiler’s architecture must be the same as Python’s (for example: if you use Python 64bit, you have to use an x64 compiler).
Which Microsoft Visual C++ compiler to use with a specific Python version ?
Each Python version uses a specific compiler version (e.g. CPython 2.7 uses Visual C++ 9.0, CPython 3.3 uses Visual C++ 10.0, etc). So, you need to install the compiler version that corresponds to your Python version :
Please also have a look at The Python Dev Guide for Windows to check for additional requirements or updates to the above table.
Distutils notes
- distutils only supports the very minimum of compiler setups. The sections in this guide corresponding to them explicitly mention distutils.
- For other setups, you need to run the compilation from the «SDK prompt» of the corresponding toolchain and set the DISTUTILS_USE_SDK environment variable to a non-empty value.
Compilers Installation and configuration
Compatible architectures are specified for each compiler in brackets.
Before do anything, install or upgrade the Setuptools Python package. It contain compatibility improvements and add automatic use of compilers:
pip install --upgrade setuptools
Microsoft Visual C++ 14.x with Visual Studio 2022 (x86, x64, ARM, ARM64)
- Install Microsoft Visual Studio 2022 (or later).
- Install the Python development workload and the optional Python native development tools option.
- Install the latest Windows SDK (under Native development in the installer).
- Optional: Set $env:PlatformToolset to your toolset version before building, if it doesn’t detect it.
- Update to the latest setuptools Python package version.
For additional details, please have a look at the Windows section of the Python Development Guide and the PCbuild/python.props file for full details on how Python is built on Windows.
At the time of this writing, CPython is built using VC++ 14.3 (Jan 2022).
Microsoft Visual C++ 14.2 standalone: Build Tools for Visual Studio 2019 (x86, x64, ARM, ARM64)
- Install Microsoft Build Tools for Visual Studio 2019.
- In Build tools, install C++ build tools and ensure the latest versions of MSVCv142 — VS 2019 C++ x64/x86 build tools and Windows 10 SDK are checked.
- The setuptools Python package version must be at least 34.4.0.
PyBuilder
PyBuilder is a software build automation tool written in pure Python mainly targeting Python ecosystem. It is based on the concept of dependency-based programming but also comes along with powerful plugin mechanism that allows the construction of build life-cycles similar to those known from other famous build tools like Apache Maven and Gradle.
PyBuilder runs on Python 3.6 to 3.11 and PyPy. Every commit is tested via GitHub Actions on CPython 3.6, 3.7, 3.8, 3.9, 3.10, 3.11 and PyPy on Linux, MacOS (with and without Homebrew) and Windows.
v0.12.x still supports Python 2.7, and 3.5 but is no longer maintained, except for critical fixes.
v0.11.x still supports Python 2.6, 3.3 and 3.4 but is no longer maintained.
News
New Features in 0.13.3
PyBuilder 0.13.3 introduced two new features:
- Resettable integration test Python virtual environment.
- The activated build environments can now be introspected from the project.
Version 0.13.0 Released!
PyBuilder 0.13.0 has been released adding support for Python 3.10, deprecating EOL Pythons (2.7 and 3.5), stabilizing environment orchestration across all major platforms and migrating CI/CD to GitHub Actions.
PyBuilder GitHub Action Released!
The first version of GitHub Action for PyBuilder has been released!
Get started
#!/bin/sh pip install pybuilder # If you want the bleeding edge # (we release after every commit) # pip install --pre pybuilder pyb --start-project pyb publish
git clone https://github.com/twentybn/GulpIO cd GulpIO python -m venv venv source venv/bin/activate pip install pybuilder # If you want the bleeding edge # (we release after every commit) # pip install --pre pybuilder pyb
Install PyBuilder
We recommend using virtualenv. Please see the dedicated installation page.
Read the Tutorial
The tutorial shows you how to get started using PyBuilder for your Python project including unittests, coverage and distutils.
Watch the Presentation
pybuilder 0.13.10
PyBuilder — an easy-to-use build automation tool for Python.
Навигация
Ссылки проекта
Статистика
Метаданные
Лицензия: Apache Software License (Apache License, Version 2.0)
Сопровождающий: Arcadiy Ivanov
Метки PyBuilder, PyB, build, tool, automation, Python, testing, QA, packaging, distribution
Требует: Python >=3.7
Сопровождающие
Классификаторы
- Development Status
- 5 — Production/Stable
- Console
- Developers
- OSI Approved :: Apache Software License
- MacOS :: MacOS X
- Microsoft :: Windows
- OS Independent
- POSIX :: Linux
- Python
- Python :: 3
- Python :: 3.7
- Python :: 3.8
- Python :: 3.9
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: Implementation :: CPython
- Python :: Implementation :: PyPy
- Software Development :: Build Tools
- Software Development :: Quality Assurance
- Software Development :: Testing
Описание проекта
PyBuilder — an easy-to-use build automation tool for Python
PyBuilder is a software build tool written in 100% pure Python, mainly targeting Python applications.
PyBuilder is based on the concept of dependency based programming, but it also comes with a powerful plugin mechanism, allowing the construction of build life cycles similar to those known from other famous (Java) build tools.
PyBuilder is running on the following versions of Python 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 and PyPy 3.7, 3.8 and 3.9.
See the GitHub Actions Workflow for version specific output.
Installing
PyBuilder is available using pip:
For development builds use:
$ pip install --pre pybuilder
See the PyPI for more information.
Getting started
PyBuilder emphasizes simplicity. If you want to build a pure Python project and use the recommended directory layout, all you have to do is create a file build.py with the following content:
See the PyBuilder homepage for more details and a list of plugins.
Release Notes
The release notes can be found here. There will also be a git tag with each release. Please note that we do not currently promote tags to GitHub «releases».