- Python >=3.5. Python must have threading support.
Python has threading in most cases while nobody uses
--without-threadsfor Python building. Python >= 3.7 always has threading.
- PyYAML It’s optional and needed only if you use yaml buildconf. ZenMake can be used with yaml buildconf file even with PyYAML not installed in an operating system because ZenMake has an internal copy of PyYAML python library. This copy is used only if there is no PyYAML installed in an operating system.
There are different ways to install/use ZenMake:
Via python package (pip)¶
ZenMake has its own python package. You can install it by:
pip install zenmake
In this way pip will install PyYAML if it’s not installed already.
POSIX: It requires root and will install it system-wide.
Alternatively, you can use:
pip install --user zenmake
which will install it for your user and does not require any special privileges. This will install the package in ~/.local/, so you will have to add ~/.local/bin to your PATH.
Windows: It doesn’t always require administrator rights.
You need to have
pip installed. Most of the modern Linux distributions
have pip in their packages. On Windows you can use, for example,
chocolatey to install pip.
Common instructions to install pip can be found
You can install ZenMake with pip and virtualenv. In this case you don’t touch system packages and it doesn’t require root privileges.
After installing you can run ZenMake just by typing:
You can use ZenMake from Git repository. But branch
master can be
broken. Also, you can just to switch to the required version using git tag. Each
version of ZenMake has a git tag. The body of ZenMake application is located in
src/zenmake path in the repository. You don’t need other directories and
files in repository and you can remove them if you want. Then you can make symlink
src/zenmake/zmrun.py, shell alias or make executable
.sh script (for Linux/MacOS/..) or .bat (for Windows) to
run ZenMake. Example for Linux (
zmrepo is custom directory):
$ mkdir zmrepo $ cd zmrepo $ git clone https://github.com/pustotnik/zenmake.git .
Next step is optional. Switch to existing version, for example to 0.7.0:
$ git checkout v0.7.0
Here you can make symlink/alias/script to run zenmake.
Other options to run ZenMake:
$ python <path-to-zenmake-repo>/src/zenmake
As a zip application¶
Zenmake can be run as an executable python zip application. And ZenMake can make
such zipapp with the command
Using steps from Via Git you can run:
$ python src/zenmake zipapp $ ls *.pyz zenmake.pyz $ ./zenmake.pyz ...
zenmake.pyz can be run standalone without the repository and pip.
You can copy
zenmake.pyz to the root of your project and distribute this
file with your project. It can be used on any supported platform and doesn’t
require any additional access and changes in your system.
Since ZenMake 0.10.0 you can download ready to use