Another Qt installer(aqt)
This is a utility alternative to the official graphical Qt installer, for using in CI environment where an interactive UI is not usable, or just on command line.
It can automatically download prebuilt Qt binaries, documents and sources for target specified, when the versions are on Qt download mirror sites.
Note
Because it is an installer utility, it can download from Qt distribution site and its mirror. The site is operated by The Qt Company who may remove versions you may want to use that become end of support. Please don't blame us.
Warning
This is NOT franchised with The Qt Company and The Qt Project. Please don't ask them about aqtinstall.
License and copyright
This program is distributed under MIT license.
Qt SDK and its related files are under its licenses. When using aqtinstall, you are considered to agree upon Qt licenses. aqtinstall installs Qt SDK as of a (L)GPL Free Software.
For details see Qt licensing and Licenses used in Qt5
Requirements
- Minimum Python version:
- 3.7
- Recommended Python version:
- 3.9 (frequently tested on)
- Dependencies:
- requests semantic_version patch py7zr texttable bs4 defusedxml
- Operating Systems:
- Linux, macOS, MS Windows
Documentation
There is precise documentation with many examples. You are recommended to read the Getting started section.
- Getting started: https://aqtinstall.readthedocs.io/en/latest/getting_started.html
- Stable (v3.0.x): https://aqtinstall.readthedocs.io/en/stable
- Latest: https://aqtinstall.readthedocs.io/en/latest
- Old (v2.2.3) : https://aqtinstall.readthedocs.io/en/v2.2.3/
Install
Same as usual, it can be installed with pip
:
pip install -U pip
pip install aqtinstall
You are recommended to update pip before installing aqtinstall.
Note
aqtinstall depends several packages, that is required to download files from internet, and extract 7zip archives, some of which are precompiled in several platforms. Older pip does not handle it expectedly(see #230).
Note
When you want to use it on MSYS2/Mingw64 environment, you need to set environmental variable
export SETUPTOOLS_USE_DISTUTILS=stdlib
, because of setuptools package on mingw wrongly
raise error VC6.0 is not supported
Warning
There is an unrelated package aqt in pypi. Please don't confuse with it.
It may be difficult to set up some Windows systems with the correct version of Python and all of aqt
's dependencies.
To get around this problem, aqtinstall
offers aqt.exe
, a Windows executable that contains Python and all required dependencies.
You may access aqt.exe
from the Releases section, under "assets", or via the persistent link to the continuous build of aqt.exe
.
Example
When installing Qt SDK 6.2.0 for Windows.
Check the options that can be used with the list-qt
subcommand, and query available architectures:
aqt list-qt windows desktop --arch 6.2.0
Then you may get candidates: win64_mingw81 win64_msvc2019_64 win64_msvc2019_arm64
. You can also query the available modules:
aqt list-qt windows desktop --modules 6.2.0 win64_mingw81
When you decide to install Qt SDK version 6.2.0 for mingw v8.1:
aqt install-qt windows desktop 6.2.0 win64_mingw81 -m all
The optional -m all argument installs all the modules available for Qt 6.2.0; you can leave it off if you don't want those modules.
To install Qt 6.2.0 with the modules 'qtcharts' and 'qtnetworking', you can use this command (note that the module names are lowercase):
aqt install-qt windows desktop 6.2.0 win64_mingw81 -m qtcharts qtnetworking
When you want to install Qt for android with required desktop toolsets
aqt install-qt linux android 5.13.2 android_armv7 --autodesktop
When aqtinstall downloads and installs packages, it updates package configurations
such as prefix directory in bin/qt.conf
, and bin/qconfig.pri
to make it working well with installed directory.
Note
It is your own task to set some environment variables to fit your platform, such as PATH, QT_PLUGIN_PATH, QML_IMPORT_PATH, and QML2_IMPORT_PATH. aqtinstall will never do it for you, in order not to break the installation of multiple versions.
Warning
If you are using aqtinstall to install the ios version of Qt, please be aware that there are compatibility issues between XCode 13+ and versions of Qt less than 6.2.4. You may use aqtinstall to install older versions of Qt for ios, but the developers of aqtinstall cannot guarantee that older versions will work on the most recent versions of MacOS. Aqtinstall is tested for ios on MacOS 12 with Qt 6.2.4 and greater. All earlier versions of Qt are expected not to function.
Testimonies
Some projects utilize aqtinstall, and there are several articles and discussions
- GitHub Actions: install_qt
- Docker image: docker aqtinstall
- Yet another comic reader: YACReader utilize on Azure-Pipelines
- Contributor Nelson's blog article: Fast and lightweight headless Qt Installer from Qt Mirrors - aqtinstall
- Lostdomain.org blog: Using Azure DevOps Pipelines with Qt
- Wincak's Weblog: Using Azure CI for cross-platform Linux and Windows Qt application builds
- Qt Forum: Automatic installation for Travis CI (or any other CI)
- Qt Forum: Qt silent, unattended install
- Reddit: Qt Maintenance tool now requires you to enter your company name
- Qt Study group presentation: Another Qt CLI installer
History
This program is originally shown in Kaidan project as a name qli-installer.
The aqtinstall
project extend and improve it.