Qt for Python/GettingStarted/MacOS: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
Line 2: Line 2:
==== Requirements ====                                                               
==== Requirements ====                                                               
* [https://developer.apple.com/xcode/ Xcode] 8.2 (macOS 10.11), 8.3.3 (macOS 10.12) or 9 (macOS 10.13)
* [https://developer.apple.com/xcode/ Xcode] 8.2 (macOS 10.11), 8.3.3 (macOS 10.12) or 9 (macOS 10.13)
* Python from https://www.python.org/downloads/ ('''Python 3.6''' or '''Python 2.7''')
* A Python interpreter (version '''Python 3.6''' or '''Python 2.7'''). One possibility is to to use a package from https://www.python.org/downloads/ , it is also possibly to use a homebrew / macPorts installed version. System python usage is discourrage
*
* Bulleted list item
* [http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run Qt 5.6+]
* [http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run Qt 5.6+]
* [http://download.qt.io/development_releases/prebuilt/libclang/ CLANG 3.9] (for 5.9+ branches)               
* [http://download.qt.io/development_releases/prebuilt/libclang/ CLANG 3.9] (for 5.9+ branches)               

Revision as of 16:53, 2 March 2018

(page under construction)

Requirements

  • Xcode 8.2 (macOS 10.11), 8.3.3 (macOS 10.12) or 9 (macOS 10.13)
  • A Python interpreter (version Python 3.6 or Python 2.7). One possibility is to to use a package from https://www.python.org/downloads/ , it is also possibly to use a homebrew / macPorts installed version. System python usage is discourrage
  • Bulleted list item
  • Qt 5.6+
  • CLANG 3.9 (for 5.9+ branches)
  • CMake from https://cmake.org/download/ (>= 3.1)
  • Git (>=2)
  • virtualenv (optional but recommended)
  • Python sphinx package for documentation (optional, pip install sphinx)
  • No OpenSSL is required because Qt uses Secure Transport (Apple) instead.

Building from sources

Setting up CLANG

wget http://download.qt.io/development_releases/prebuilt/libclang/libclang-release_39-mac.7z
  • Extract the files, e.g.
7z x libclang-release_39-mac.7z                             
  • Export the installation path to the path you choosed to place the files
export CLANG_INSTALL_DIR=$PWD/libclang                                                                                                                                  

Getting PySide2

  • Clonning the official repository
git clone --recursive https://codereview.qt-project.org/pyside/pyside-setup         
  • Checking out the version that we want to build, e.g. 5.9 (Keep in mind you need to use the same version as your Qt installation)
cd pyside-setup && git checkout 5.9                                                                 

Building PySide2

  • Check your Qt installation path, to specifically use that version of qmake to build PySide2:
which qmake
  • Build can take a few minutes, so it is recommended to use more than one CPU core (e.g. 8). Remember to replace the paths to your current qmake path:
python setup.py build --qmake=/path/to/qmake --build-tests --ignore-git --jobs=8                                                                           

Installing PySide2

  • To install on the current directory, just run:
python setup.py install --qmake=/path/to/qmake  --build-tests --ignore-git --jobs=8                                                                                  

Test installation

  • You can execute one of the examples to verify the process is properly working.
  • Remember to properly set the environment variables for Qt and PySide2.
python examples/examples/widgets/widgets/tetrix.py                      

Development

Development happens in the 5.9 and dev branches of the pyside-setup repository. The top level repository has the following submodules:

  • sources/pyside2-tools: uic, rcc tools
  • examples/

Contributions follow the standard process. It is helpful to have debug binaries and/or symbols for Python available. On macOS you will need to build the Python interpreter with debug symbols by hand. It is also recommended to use a Virtual Environment for testing to be able to always start from a clean base and avoid issues with write permissions in installations. On macOS, the command

virtualenv -p /usr/bin/python3-dbg testenv                                          

creates a Virtual Environment named testenv for debugging purposes. Before building the first time, the module Sphinx should be installed into the virtual environment:

pip install sphinx