Skip to main content

Another unofficial Qt installer

Project description

Another Qt installer(aqt)

Jobs

Mac Linux Windows Mirror

Release Status

Status

macos ubuntu windows ext

pypi pep8 docs

This is an utility replacing the official graphical Qt installer. It can automatically download prebuilt Qt binaries for any target (you’re not bound to Linux binaries on Linux; you could also download iOS binaries). It’s working with Python > 3.5 on Linux, OS X and Windows. It is required to install 7zip utility in your platform.

Install

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]...]
python -m 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]...]
  • 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_msvc2017_64, win32_msvc2017, win64_msvc2015_64, win32_msvc2015, win64_mingw73, win32_mingw73, win64_mingw53, win32_mingw53, 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 specify 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>
  • 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_msvc2017_64

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 qcharts qtnetworkauth

Example: Installing Android (armv7) Qt 5.10.2:

aqt install 5.10.2 linux android android_armv7

Example: Install Install FrameWork(IFW):

aqt tool linux tools_ifw 3.1.1 qt.tools.ifw.31

Example: Install vcredist:

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

Example: Install OpenSSL:

C:\ aqt tool windows tools_openssl 1.1.1-1 qt.tools.openssl.win_x64

Example: Show help message

aqt help

Supported CI platform

There are no limitation for CI platform but currently it is tested on Azure Pipelines. If you want to use it with Github actions, please see install_qt action.

Use cases

History

This program is originally shown in Kaidan project as a name qli-installer. A project aqtinstall extend the original to run with standard python features with Linux, Mac and Windows, to be tested on CI platform, and to improve performance with a concurrent downloading.

aqtinstall changeLog

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

Current changes

Unreleased

Added

Changed

Fixed

Deprecated

Removed

Security

v0.7.8 (5, Mar., 2020)

  • Same as v0.7.6

v0.7.6 (4, Mar., 2020)

Fixed

v0.7.5 (27, Feb., 2020)

Changed

  • Requirements of py7zr is v0.5.3 or later, which include no more os.chdir() patch.

v0.7.4 (21, Feb., 2020)

Changed

  • Limit requirement of py7zr version to 0.5.*. Try to fix issue #86.

v0.7.3 (14, Feb., 2020)

Added

  • Github Actions workflows for publishing.

Changed

  • Remove run script from source. Now it is automatically generated when build.(#85)

  • Update requirement py7zr >=0.5

Fixed

  • README: fix reStructured text syntax.

v0.7.2 (11, Feb., 2020)

Changed

  • Replace ‘multiprocessing.dummy’ with ‘concurrent.futures’.
    • download with multi-threading(I/O bound)

    • extract with multi-processing(CPU bound)

Fixed

  • ‘-E | –external’ option handling which cause path is not str error.

v0.7.1 (13, Jan., 2020)

Fixed

  • Fix installation of extra modules for Qt5.9.

v0.7 (13, Jan., 2020)

Changed

  • Move project metadata to setup.cfg from setup.py.

v0.7b1 (10, Jan., 2020)

Changed

  • Bamp up dependency py7zr >=v0.5b5.

  • Use py7zr in default to extract packages.

  • Drop –internal command line option.

v0.7a2 (7, Jan., 2020)

Added

  • Add special module name ‘all’ for extra module option.

Fixed

  • CI conditions, update target version.

v0.7a1 (29, Nov., 2019)

Added

  • Introduce helper module.

  • Introduce ‘settings.ini’ file which has a configuration for aqt module.

Changed

  • Version numbering with setuptools_scm.

  • Now don’t install extra modules when installing ‘wasm_32’ arch. You should explicitly specify it with ‘-m’ option.

Fixed

  • Error when mirror site is not http, but https and ftp.

v0.6b1 (23, Nov., 2019)

Changed

  • Just warn when argument combination check is failed.

  • CI: Compress sample project for build test with 7zip.

  • CI: Place sample script in ci directory.

v0.6a2 (19, Nov., 2019)

Added

  • Test: Unit test against command line.

  • Android target variants.

Changed

  • Use logging configuration with logging.ini

Fixed

  • qconfig.pri: fix QT_LICHECK line.

Removed

  • Logging configuration file logging.yml

  • Drop dependency for pyyaml.

v0.6a1 (17, Nov., 2019)

Added

  • More build test with sample project which uses an extra module.(#56)

  • Add support for installation of WebAssembly component by specifying ‘wasm_32’ as an arch argument.(#53, #55)

Changed

  • Optional modules are installed explicitly. Users need to specify extra modules with -m option.(#52, #56)

Fixed

  • Dependency for py7zr only for python > 3.5. Now it works with python2.7.

v0.5 (10, Nov., 2019)

Changed

  • Introduce combination DB in json form. User and developer now easily add new component for installation checking.

Fixed

  • requires py7zr >= 0.4.1 because v0.4 can fails to extract file.

v0.5b2 (8, Oct., 2019)

Changed

  • Change install path from <target>/Qt/Qt<version>/<version> to <target>/<version> (#48). - Also update CI test to specify –outputdir <target> that is $(BinariesDirectory)/Qt

v0.5b1 (8, Oct., 2019)

Added

  • Add feature to support installation of Qt Tools

  • Add CI test for tool installation

Changed

  • CI test target - add 5.14.0 - remove 5.11.3 - change patch_levels to up-to-date

v0.4.3 (25, Sep, 2019)

Fixed

  • Allow multiple redirection to mirror site.(#41)

v0.4.2 (28, Jul, 2019)

Changed

  • README: update badge layout.

  • CI: Improve azure-pipelines configurations by Nelson (#20)

  • Check parameter combination allowance and add winrt variant.

  • Support installation of mingw runtime package.

  • Add ‘–internal’ option to use py7zr instead of external 7zip command for extracting package archives.(WIP)

v0.4.1 (01, Jun, 2019)

Added

  • Option -b | –base to specify mirror site.(#24)

Changed

  • CI: add script to generate auzre-pipelines.yml (#27, #28, #29)

  • CI: use powershell script for linux, mac and windows. (#26)

Fixed

  • Avoid blacklisted mirror site that cause CI fails.(#25)

v0.4.0 (29, May, 2019)

Added

  • cli: output directory option.

  • sphinx document.

  • test packaging on CI.

  • Handler for metalink information and intelligent mirror selection.

Changed

  • Change project directory structure.

  • cli command name changed from ‘aqtinst’ to ‘aqt’ and now you can run ‘aqt install’

  • Introduce Cli class

  • Massive regression test on azure pipelines(#20)

  • blacklist against http://mirrors.tuna.tsinghua.edu.cn and http://mirrors.geekpie.club/ from mirror site.

  • Run 7zip command with ‘-o{directory}’ option.

Fixed

  • Fix File Not Found Error when making qt.conf against win64_mingw73 and win32_mingw73

v0.3.1 (15, March, 2019)

Added

  • Qmake build test code in CI environment.(#14)

Fixed

  • Connect to Qt download server through proxy with authentication.(#17)

Changed

  • Change QtInstaller.install() function signature not to take any parameter.

  • Replace standard urllib to requests library.(#18)

  • Use 7zr external command instead of 7z in Linux and mac OSX envitonment.

Removed

  • requirements.txt file.

v0.3.0 (8, March, 2019)

Added

  • Allow execute both ‘aqtinst’ and ‘python -m aqt’ form.

Changed

  • Project URL is changed.

  • Generate universal wheel support both python2.7 and python 3.x.

Fixed

  • Update README wordings.

  • Remove dependency for python3 with ‘aqtinst’ command utility.

  • Fix command name in help message.

v0.2.0 (7, March, 2019)

Added

  • Released on pypi.org

Changed

  • Install not only basic packages also optional packages.

  • Rename project/command to aqt - Another QT installer

Fixed

  • Update mkspecs/qconfig.pri to indicate QT_EDITION is OpenSource

  • Support Python2

v0.1.0 (5, March, 2019)

Changed

  • Support multiprocess concurrent download and installation.

v0.0.2 (4, March, 2019)

Added

  • CI test on Azure-pipelines

Changed

  • Refactoring code

  • Install QtSDK into (cwd)/Qt<version>/<version>/gcc_64/

  • Drop dependency for requests library

  • Use standard argparse for command line argument.

Fixed

  • Support windows.

  • looking for 7zip in standard directory.

v0.0.1 (2, March, 2019)

Project details


Release history Release notifications | RSS feed

This version

0.7.8

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aqtinstall-0.7.8.tar.gz (49.6 kB view details)

Uploaded Source

Built Distribution

aqtinstall-0.7.8-py2.py3-none-any.whl (22.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file aqtinstall-0.7.8.tar.gz.

File metadata

  • Download URL: aqtinstall-0.7.8.tar.gz
  • Upload date:
  • Size: 49.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for aqtinstall-0.7.8.tar.gz
Algorithm Hash digest
SHA256 a310c9b42f1d8548d3c2e74c40c7c1393a3e8565f58e814d7046140c994a65ee
MD5 8eeec1f56bbe6acd01602cba6adea4eb
BLAKE2b-256 a9697c56327e4dd7a5c73705d12b35a268cf7e98da9bb49fe943591f65d58f34

See more details on using hashes here.

File details

Details for the file aqtinstall-0.7.8-py2.py3-none-any.whl.

File metadata

  • Download URL: aqtinstall-0.7.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for aqtinstall-0.7.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5f38f30488632735fb761bef9c61f98d97df43eb4b41db0b1a55d9b3652ed103
MD5 4e9ac8c031e8b801cb1e74395d24db30
BLAKE2b-256 2a983490585052f60e75d1320e67306eaefca6e3b996a0e026c1fbe36d997ecf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page