aqtinstall manual

Contents:

Installation

Requirements

  • Minimum Python version: 3.6
  • Recommended Python version: 3.7.5 or later
  • Dependent libraries: requests, py7zr

Install by pip command

Same as usual, it can be installed with pip

$ pip install aqtinstall

Usage

General usage looks like this:

aqt [-h][--help][-O | --outputdir <directory>][-b | --base <mirror url>][-E | --external <7zip command>] \
    install <qt-version> <host> <target> [<arch>] [-m all | -m [extra module] [extra module]...] [--internal]
    [--archives <archive>[ <archive>...]] [--timeout <timeout(sec)>]

You can also call with python -m aqt syntax as well as command script aqt.

  • The Qt version is formatted like this: 5.11.3
  • Host is one of: linux, mac, windows
  • Target is one of: desktop, android, ios (iOS only works with mac host)
  • For some platforms you also need to specify an arch:
    • For windows, choose one of:
      • win64_msvc2019_64, win32_msvc2019,
      • win64_msvc2017_64, win32_msvc2017,
      • win64_msvc2015_64, win32_msvc2015,
      • win64_mingw81, win32_mingw81,
      • win64_mingw73, win32_mingw73,
      • win64_mingw53, win32_mingw53,
      • win64_msvc2019_winrt_x64, win64_msvc2019_winrt_x86, win64_msvc2019_winrt_armv7
      • win64_msvc2017_winrt_x64, win64_msvc2017_winrt_x86, win64_msvc2017_winrt_armv7
    • For android and Qt 5.13 or below, choose one of: android_x86_64, android_arm64_v8a, android_x86, android_armv7
  • You can specify external 7zip command path instead of built-in extractor.
  • When specifying all for extra modules option -m all extra modules are installed.

Installing tool and utility (Experimental)

You can install tools and utilities using following syntax;

python -m aqt [-h][--help][-O | --outputdir <directory>][-b | --base <mirror url>][-E | --external <7zip command>] \
    tool <host> <tool_name> <tool-version> <arch> [--timeout <timeout>]
  • tool_name is one of tools_ifw, tools_vcredist, and tools_openssl.
  • arch is full qualified tool name such as qt.tools.ifw.31 which values can be seen on Qt archive_site This is a quite experimental feature, may not work and please use it with your understanding of what you are doing.
  • It does not recognize ‘installscript.qs’. When using tools which depends on a qt script, you should do something by yourself.

Target directory

aqt can take option ‘–outputdir’ or ‘-O’ that specify a target directory.

The Qt packages are installed under current directory as such Qt/<ver>/gcc_64/ If you want to install it in C:Qt as same as standard gui installer default, run such as follows:

C:\> mkdir Qt
C:\> aqt install --outputdir c:\Qt 5.11.3 windows desktop win64_msvc2019_64

Command Line Options

The CLI uses argparse to parse the command line options so the short or long versions may be used and the long options may be truncated to the shortest unambiguous abbreviation.

help

show generic help

list <Qt version> <target OS>

list available variations. positional arguments: qt_version Qt version in the format of “5.X.Y” {linux,mac,windows} host os name {desktop,winrt,android,ios} target sdk

install <Qt version> <target OS> <target variant> <target architecture>

install Qt library specified version and target. There are various combinations to accept according to Qt version.

Qt version

This is a Qt version such as 5.9,7, 5.12.1 etc

target OS

linux, windows or mac

target variant

desktop, ios or android

target architecture
  • gcc_64 for linux desktop
  • clang_64 for mac desktop
  • win64_msvc2019_64, win64_msvc2017_64, win64_msvc2015_64, win32_msvc2015, win32_mingw53 for windows desktop
  • android_armv7, android_arm64_v8a, android_x86, android_x86_64 for android
--version, -v

Display version

--help, -h

Display help text

--outputdir, -O <Output Directory>

specify output directory.

--base, -b <base url>

specify mirror site base url such as -b ‘https://mirrors.ocf.berkeley.edu/qt/’ where ‘online’ folder exist.

--modules, -m <list of modules>

specify extra modules to install as a list.

--archives <list of archives>

[Advanced] Specify subset of archives to limit installed archives. This is advanced option and not recommended to use for general usage. Main purpose is speed up CI/CD process by limiting installed modules. It can cause broken installation of Qt SDK.

--noarchives

[Advanced] Specify not to install all base packages. This is advanced option and you should use with –modules option. This allow you to add modules to existent Qt installation.

src <Qt version> <target OS> <target variant>

install Qt sources specified version and target.

doc <Qt version> <target OS> <target variant>

install Qt documents specified version and target.

examples <Qt version> <target OS> <target variant>

install Qt examples specified version and target.

tool <target OS> <target tool name> <target tool version> <tool variant name>

install tools specified. tool name may be ‘tools_openssl_x64’, ‘tools_ninja’, ‘tools_ifw’, ‘tools_cmake’ and tool variants name may be ‘qt.tools.openssl.gcc_64’, ‘qt.tools.ninja’, ‘qt.tools.ifw.32’, ‘qt.tools.cmake’. You may need to looking for version number at https://download.qt.io/online/qtsdkrepository/

Command examples

Example: Installing Qt SDK 5.12.0 for Linux with QtCharts and QtNetworkAuth:

pip install aqtinstall
sudo aqt install --outputdir /opt 5.12.0 linux desktop -m qtcharts qtnetworkauth

Example: Installing Android (armv7) Qt 5.10.2:

aqt install 5.10.2 linux android android_armv7

Example: Install examples, doc and source:

C:\ aqt examples 5.15.0 windows desktop -m qtcharts qtnetworkauth
C:\ aqt doc 5.15.0 windows desktop -m qtcharts qtnetworkauth
C:\ aqt src 5.15.0 windows desktop

Example: Install Web Assembly

aqt install 5.15.0 linux desktop wasm_32

Example: Install an Install FrameWork (IFW):

aqt tool linux tools_ifw 4.0 qt.tools.ifw.40

Example: Install vcredist:

C:\ aqt tool windows tools_vcredist 2019-02-13-1 qt.tools.vcredist_msvc2019_x64
C:\ .\Qt\Tools\vcredist\vcredist_msvc2019_x64.exe /norestart /q

Example: Install MinGW on Windows

C:\ aqt tool -O c:\Qt windows tools_mingw 8.1.0-1-202004170606 qt.tools.win64_mingw810w
c:\ set PATH=C:\Qt\Tools\mingw810_64\bin

Example: Show help message

aqt help

Available Qt versions

Here is an available combinations of Qt versions and platforms. It is based on contents at https://download.qt.io/ as in January, 2021.

WARNING: Older versions may be removed and new version will be added, because The Qt Foundation maintains the site and aqtinstall just see there. So there is no guarantee for you to be able to install versions listed here.

Desktop

Qt SDK for Desktop applications are provided for linux, mac and windows.

Linux

Variant Qt Versions
gcc_64
  • 6.0.1, 6.0.0, 5.13.0
  • 5.15.2, 5.15.1, 5.15.0
  • 5.14.2, 5.14.1, 5.14.0
  • 5.13.2, 5.13.1
  • 5.12.9, 5.12.8, 5.12.7, 5.12.6, 5.12.5, 5.12.4, 5.12.3, 5.12.2, 5.12.1, 5.12.0
  • 5.11.3, 5.11.2, 5.11.1, 5.11.0
  • 5.10.1, 5.10.0
  • 5.9.9, 5.9.8, 5.9.7, 5.9.6, 5.9.5
wasm_32
  • 5.15.2, 5.15.1, 5.15.0
  • 5.14.2, 5.14.1, 5.14.0
  • 5.13.2, 5.13.1

mac

Variant Qt Versions
clang_64
  • 6.0.1, 6.0.0, 5.13.0
  • 5.15.2, 5.15.1, 5.15.0
  • 5.14.2, 5.14.1, 5.14.0
  • 5.13.2, 5.13.1
  • 5.12.9, 5.12.8, 5.12.7, 5.12.6, 5.12.5, 5.12.4, 5.12.3, 5.12.2, 5.12.1, 5.12.0
  • 5.11.3, 5.11.2, 5.11.1, 5.11.0
  • 5.10.1, 5.10.0
  • 5.9.9, 5.9.8, 5.9.7, 5.9.6, 5.9.5
wasm_32
  • 5.15.2, 5.15.1, 5.15.0
  • 5.14.2, 5.14.1, 5.14.0
  • 5.13.2, 5.13.1

windows

Variant Qt Versions
win64_msvc2019_64
  • 6.0.1, 6.0.0
  • 5.15.2, 5.15.1, 5.15.0
win32_msvc2019
  • 5.15.2 5.15.1 5.15.0
win64_msvc2017_64
  • 5.14.2, 5.14.1, 5.14.0
  • 5.13.2, 5.13.1, 5.13.0
  • 5.12.9, 5.12.8, 5.12.7, 5.12.6, 5.12.5, 5.12.4, 5.12.3, 5.12.2, 5.12.1, 5.12.0
  • 5.11.3, 5.11.2, 5.11.1, 5.11.0
  • 5.10.1, 5.10.0
  • 5.9.9, 5.9.8, 5.9.7, 5.9.6, 5.9.5
win32_msvc2017
  • 5.14.2, 5.14.1, 5.14.0
  • 5.13.2, 5.13.1, 5.13.0
win64_msvc2015_64
  • 5.15.2 5.15.1 5.15.0
  • 5.14.2 5.14.1 5.14.0
  • 5.13.2 5.13.1, 5.13.0
  • 5.12.9, 5.12.8, 5.12.7, 5.12.6, 5.12.5, 5.12.4, 5.12.3, 5.12.2, 5.12.1, 5.12.0
  • 5.11.3, 5.11.2, 5.11.1, 5.11.0
  • 5.10.1, 5.10.0
  • 5.9.9, 5.9.8, 5.9.7, 5.9.6, 5.9.5
win32_msvc2015
  • 5.11.3, 5.11.2, 5.11.1, 5.11.0
  • 5.10.1, 5.10.0
  • 5.9.9, 5.9.8, 5.9.7, 5.9.6, 5.9.5
  • win64_mingw81
  • win32_mingw81
  • 6.0.1, 6.0.0
  • 5.15.2, 5.15.1, 5.15.0
  • win64_mingw73
  • win32_mingw73
  • 5.14.2, 5.14.1, 5.14.0
  • 5.13.2 5.13.1, 5.13.0
  • 5.12.9, 5.12.8, 5.12.7, 5.12.6, 5.12.5, 5.12.4, 5.12.3, 5.12.2, 5.12.1, 5.12.0
win32_mingw53
  • 5.11.3, 5.11.2, 5.11.1, 5.11.0
  • 5.10.1, 5.10.0
  • 5.9.9, 5.9.8, 5.9.7, 5.9.6, 5.9.5
wasm_32
  • 5.15.2 5.15.1 5.15.0
  • 5.14.2 5.14.1 5.14.0
  • 5.13.2 5.13.1

Mobile platforms

android

android SDK is provided for linux, mac and windows.

Variant Qt Versions
  • android_arm64_v8a
  • android_x86_64
  • 6.0.1, 6.0.0
  • android_armv7
  • android_x86
  • 6.0.1, 6.0.0
  • 5.13.2 5.13.1 5.13.0
  • 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 5.12.3 5.12.2 5.12.1 5.12.0
  • 5.11.3 5.11.2 5.11.1 5.11.0
  • 5.10.1 5.10.0
  • 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5
  • android
  • 5.15.2 5.15.1 5.15.0
  • 5.14.2 5.14.1 5.14.0

ios

Qt SDK for ios is provided on mac.

Variant Qt Versions
ios
  • 6.0.1, 6.0.0
  • 5.15.2, 5.15.1, 5.15.0
  • 5.14.2, 5.14.1, 5.14.0
  • 5.13.2, 5.13.1, 5.13.0
  • 5.12.9, 5.12.8, 5.12.7, 5.12.6, 5.12.5 5.12.4, 5.12.3, 5.12.2, 5.12.1, 5.12.0
  • 5.11.3, 5.11.2, 5.11.1, 5.11.0
  • 5.10.1, 5.10.0
  • 5.9.9, 5.9.8, 5.9.7, 5.9.6, 5.9.5

winrt

winrt SDK is provided for windows platform.

Variant Qt Versions
win64_msvc2019_winrt_x64
  • 5.15.2 5.15.1 5.15.0
  • 5.14.2 5.14.1 5.14.0
  • 5.13.2 5.13.1 5.13.0
  • 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 5.12.3 5.12.2 5.12.1 5.12.0
win64_msvc2019_winrt_armv7
  • 5.15.2 5.15.1 5.15.0
  • 5.14.2 5.14.1 5.14.0
  • 5.13.2 5.13.1 5.13.0
  • 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 5.12.3 5.12.2 5.12.1 5.12.0
win64_msvc2019_winrt_x86 5.15.2 5.15.1 5.15.0 5.14.2 5.14.1 5.14.0 5.13.2 5.13.1 5.13.0 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 5.12.3 5.12.2 5.12.1 5.12.0
win64_msvc2017_winrt_armv7 5.14.2 5.14.1 5.14.0 5.13.2 5.13.1 5.13.0 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 5.12.3 5.12.2 5.12.1 5.12.0
win64_msvc2017_winrt_x64 5.14.2 5.14.1 5.14.0 5.13.2 5.13.1 5.13.0 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 5.12.3 5.12.2 5.12.1 5.12.0
win64_msvc2017_winrt_x86 5.14.2 5.14.1 5.14.0 5.13.2 5.13.1 5.13.0 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 5.12.3 5.12.2 5.12.1 5.12.0
win64_msvc2015_winrt_armv7 5.15.2 5.15.1 5.15.0 5.14.2 5.14.1 5.14.0 5.13.2 5.13.1 5.13.0 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 5.12.3 5.12.2 5.12.1 5.12.0 5.11.2 5.11.1 5.11.0 5.10.1 5.10.0 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5
win64_msvc2015_winrt_x64 5.14.2 5.14.1 5.14.0 5.13.2 5.13.1 5.13.0 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 5.12.3 5.12.2 5.12.1 5.12.0
win64_msvc2015_winrt_x86 5.11.2 5.11.1 5.11.0 5.10.1 5.10.0 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5

Internals

Installer module

Archives module

Updater module

Helper module

aqtinstall changeLog

All notable changes to this project will be documented in this file.

Unreleased

Added

Changed

Fixed

Deprecated

Removed

Security

v1.1.6 (2, May. 2021)

Fixed

  • doc subcommand failed in argument parse(#234)

v1.1.5 (8, Apr. 2021)

Added

  • README: describe advanced installation method.

Changed

  • Change tox.ini: docs test output folder
  • Remove changelog from pypi page

Fixed

  • Drop dependency for wheel

v1.1.4 (2, Apr. 2021)

Changed

  • Code reformatting by black and check by black.
  • Check linting by github actions.

Fixed

  • Fix document error on README(#228, #226).

v1.1.3 (26, Feb. 2021)

Fixed

  • Key error on 3.6.13, 3.7.10, 3.8.8, and 3.9.2(#221)

v1.1.2 (20, Feb. 2021)

Fixed

  • Fix leaked multiprocessing resource(#220)
  • Catch both read timeout and connection timeout.

v1.1.1 (13, Feb. 2021)

Fixed

  • Catch timeout error and fallback to mirror (#215,#217)

v1.1.0 (12, Feb. 2021)

Added

  • Patching android installation for Qt6 - patch target_qt.conf

Changed

  • CI test with Qt6
  • Docs: update avaiable conbinations

Fixed

  • Skip QtCore patching for 5.14.0 and later(Fix regression)(#211)

v1.0.0 (4, Feb. 2021)

Added

  • Add –noarchives option to allow user to add modules to existed installation(#174,#204)
  • No patching when it does not install qtbase package by –noarchives and –archives option.(#204)
  • Azure: test with jom build on windows.
  • Patch pkgconfig configurations(#199)
  • Patch libQt5Core and libQt6Core for linux(#201)

Changed

  • Update document to show available Qt versions
  • Update README to add more references.
  • Suppress debug log and exist silently when specified package not found.

Fixed

  • Catch exception on qmake -query execution(#201)
  • Fix Qt6/Android installation handling.(#193, #200)

Contribution guide

This is contribution guide for aqtinstall project. You are welcome to send a Pull-Request, reporting bugs and ask questions.

Resources

  • Project owner: Hiroshi Miura
  • Bug Tracker: Github issue Tracker
  • Status: Beta
  • Activity: moderate

Bug triage

Every report to github issue tracker should be in triage. whether it is bug, question or invalid.

Send patch

Here is small amount rule when you want to send patch the project;

  1. every proposal for modification should send as ‘Pull Request’
  1. each pull request can consist of multiple commits.
  1. you are encourage to split modifications to individual commits that are logical subpart.

CI tests

The project configured to use Azure Pipelines, Github actions and Coveralls for regression test. You can see test results on badge and see details in a web page linked from badge.

Authors

Aqtinstall is written and maintained by Hiroshi Miura <miurahr@linux.com>

Original qli-installer is written by Linus Jahn

Utilize for Github Actions recipe and many feedback by Benjamin O

Contributors, listed alphabetically, are:

  • Andrei Yankovich (tools ifw installation)
  • Aurélien Gâteau (patching to qmake, #100)
  • Gamso (improve parsing of update.xml)
  • Kyle Altendorf (7z binary path search)
  • Martin Delille (Document)
  • Mizux Seihax (Qt versions)
  • Nelson Chen (CI tests)
  • pylipp (Document)
  • Felix Barz (Android, Explicit extra module installation)
  • Sztergbaum Roman
  • Thomas Grainger (CLI entry point)
  • Vadim Peretokin (Version database)
  • ypnos (Document)

and many other participants and contributors.

Indices and tables