133 private links
Package managers are essential tools on Linux systems. They help you install, update, and remove software packages with simple commands. Most distributions come with their own package managers, like apt, dnf, or pacman.
However, many modern tools are distributed as pre-compiled binaries via GitHub releases. Developers using languages like Go, Rust, and Deno often release their software this way. New projects that are not included in the official distro repository yet have to opt for this method.
What are wheels?
Wheels are the new standard of Python distribution and are intended to replace eggs. Support is offered in pip >= 1.4 and setuptools >= 0.8.
Advantages of wheels
- Faster installation for pure Python and native C extension packages.
- Avoids arbitrary code execution for installation. (Avoids
setup.py) - Installation of a C extension does not require a compiler on Windows or macOS.
- Allows better caching for testing and continuous integration.
- Creates
.pycfiles as part of installation to ensure they match the Python interpreter used. - More consistent installs across platforms and machines
Nix is a purely functional package manager. It allows multiple versions of a package to be installed side-by-side, ensures that dependency specifications are complete, supports atomic upgrades and rollbacks, allows non-root users to install software, and has many other features. It is the basis of the NixOS Linux distribution, but it can be used equally well under other Unix systems.