1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
Getting Started on Linux
==========================
Requirements
------------
* GCC
* ``sphinx`` package for the documentation (optional).
* Depending on your linux distribution, the following dependencies might also be required:
* ``libgl-dev``, ``python-dev``, ``python-distutils``, and ``python-setuptools``.
Building from source
--------------------
Creating a virtual environment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The ``venv`` module allows you to create a local, user-writeable copy of a python environment into
which arbitrary modules can be installed and which can be removed after use::
python -m venv testenv
source testenv/bin/activate
will create and use a new virtual environment, which is indicated by the command prompt changing.
Setting up CLANG
~~~~~~~~~~~~~~~~
If you don't have libclang already in your system, you can download from the Qt servers::
wget https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_100-based-linux-Rhel7.6-gcc5.3-x86_64.7z
Extract the files, and leave it on any desired path, and set the environment
variable required::
7z x libclang-release_100-based-linux-Rhel7.6-gcc5.3-x86_64.7z
export LLVM_INSTALL_DIR=$PWD/libclang
Getting the source
~~~~~~~~~~~~~~~~~~
Cloning the official repository can be done by::
git clone https://code.qt.io/pyside/pyside-setup
Checking out the version that we want to build, for example 6.0::
cd pyside-setup && git checkout 6.0
Install the general dependencies::
pip install -r requirements.txt
.. note:: Keep in mind you need to use the same version as your Qt installation.
Additionally, :command:`git checkout -b 6.0 --track origin/6.0` could be a better option
in case you want to work on it.
Building and Installing (setuptools)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The `setuptools` approach uses the `setup.py` file to execute the build,
install, and packaging steps.
Check your Qt installation path, to specifically use that version of qtpaths to build PySide.
for example, :command:`/opt/Qt/6.0.0/gcc_64/bin/qtpaths`.
Build can take a few minutes, so it is recommended to use more than one CPU core::
python setup.py build --qtpaths=/opt/Qt/6.0.0/gcc_64/bin/qtpaths --build-tests --ignore-git --parallel=8
To install on the current directory, just run::
python setup.py install --qtpaths=/opt/Qt/6.0.0/gcc_64/bin/qtpaths --build-tests --ignore-git --parallel=8
Building and Installing (cmake)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The `setuptools` approach includes internal `CMake` calls when
building and installing the project, but a CMake-only approach is only
recommended for packaging the project for distribution builds.
Assumming that Qt is in PATH, for example, the configure step can be done with::
cmake -B /path/to/the/build/directory \
-S /path/to/the/pyside-setup \
-DCMAKE_INSTALL_PREFIX=/where/to/install \
-DPYTHON_EXECUTABLE=/path/to/interpreter
.. note:: You can add `-DFORCE_LIMITED_API=yes` in case you want to have a
build which will be compatible with Python 3.7+.
and then for building::
cmake --build /path/to/the/build/directory --parallel X
where `X` is the amount of processes you want to use.
Finally, the install step can be done with::
cmake --install /path/to/the/build/directory
.. note:: You can build only pyside6 or only shiboken6 by using
the diferent source directories with the option `-S`.
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 PySide::
python examples/widgets/widgets/tetrix.py
|