Secondary navigation

Running Python on HPC

This instructional guide will provide you with many ways on how to use python on the CQUni HPC system.

Python is one of the most popular programming languages that is being used in a variety of research domains and appears to be extremely popular in the Machine Learning and Artificial Intelligence community.

There are a variety of ways to use python on CQUniversity’s High Performance Computing system, including using a graphical interactive development environment (IDE), running python code interactively via the command line to submitting python jobs to the scheduler.  The following sections below will highlight these methods as well as how to transfer your python code to the HPC system and how to search for specific python modules across the many python versions installed on the HPC system.

It should be noted that this install guide will highlight how to use the “Spyder” python interactive development environment (IDE), this is not to suggest there are no others available nor is it the best solution for you.  Spyder is the tool used within the QCIF software carpentry courses and is familiar by many users, thus spyder will be the IDE suggested in the help guides below.

This guide will provide the following instructions

What versions of python are available on the HPC system?

It should be noted that it is most likely that the version of python you wish to use is not the default version available when you first log on to CQUniversity’s High Performance Computing facility.

Our HPC system has over 50 different versions of python available that can be loaded as part of a software module.  These include “base” python installs, miniconda and anaconda python stacks. Some of the python stacks have been built to enable GPU’s (these will have gpu or cuda in the module name), whereas most of python installs are CPU based.

You can use the software module command module avail, to highlight all of the HPC software that is available to load, including the various python software stacks.  It is important to load your python software module you wish to use each time to open a new HPC session, command prompt/terminal as well as have it included in your HPC submission scripts.

A random subsection of Python software modules that are available to load include:

anaconda-2.3.0
anaconda-2.3.0-qiime
anaconda-5.0.1
anaconda-python3-2020-02
deep-learning-packages
deep-learning-packages2
python
python2
python-2.7.9
python3
python-3.4.3
python-3.8.0
python-3.8.2-deep-learning
Python/2.7.16-GCCcore-8.3.0
Python/2.7.18-GCCcore-10.2.0
Python/3.6.4-foss-2018a
Python/3.6.6-fosscuda-2018b
Python/3.9.5-GCCcore-10.3.0
Anaconda3/2019.10
Anaconda3/2020.11
Miniconda3/4.4.10
Miniconda3/4.7.10
Miniconda3/4.9.2

Is it suggested that you have a look at our HPC Software Page for more information on the various software available on our HPC system.

Running and editing python code via a graphical interactive development environment (IDE)

  1. Connect to the CQUni HPC system through using graphical connection, instruction on how to do this can be found here. It should be noted that if you are just editing some code or submitting some python jobs via the HPC scheduler, you can use the login node “marie” or “curie”, but if you plan on running some intensive jobs, then you should start an interactive session (which will place you on one of the many compute nodes).
  2. To launch the python IDE spyder, you will need to do the following:
    • Launch the ‘GNOME Terminal’ located on your desktop
    • Ensure the python version you wish to use is loaded.  If you need to load a different version of python, it is suggest to have a look at the HPC software page.
  3. As an example we are going to be launching ‘Spyder’ from the anaconda module; to do so run the following commands:
    • First check for any currently loaded python modules using:
      $ which python
      /apps/software/python/2.7/python-2.7.3/bin/python
    • Unload any python packages that are loaded by default:
      $ module unload python python3
    • Import the module you wish to use (in this case, the module anaconda-python3-2020-02 is used):
      $ module load anaconda-python3-2020-02
    • Check the module loaded correctly:
      $ which python
      /apps/software/anaconda/2020-02/bin/python
    • Start the python IDE ‘spyder’, which is available through the anaconda package.
      $ spyder
Python IDE Spyder Startup Graphic

Running and editing python code via a terminal session

  1. Connect to the CQUni HPC system through using a SSH connect or via a graphical connection.  Instructions on how to do this can be found here. It should be noted that if you are just editing some code or submitting some python jobs via the HPC scheduler, you can use the login node “marie” or “curie”.  Iff you plan on running some intensive jobs, then you should start an interactive session (which will place you on one of the many compute nodes) or submit your python jobs to the HPC scheduler.
  2. If running an interactive session, launch the ‘GNOME Terminal’ located on your desktop
  3. Ensure the python version you wish to use is loaded. If you need to load a different version of python, it is suggest to have a look at the HPC software page.

    You can check for any currently loaded python modules using:
    $ which python
    /apps/software/python/2.7/python-2.7.3/bin/python
  4. If you wish to change the version of python being loaded, complete these steps:
    • Unload any python packages that are loaded by default:
      $ module unload python python3
    • Import the module you wish to use (as an exampled, the module anaconda-python3-2020-02 is used):
      $ module load anaconda-python3-2020-02
    • Check the module loaded correctly:
      which python
      /apps/software/anaconda/2020-02/bin/python
  5. You should be then to run your python program by using the ‘python’ or ‘python3’ application.

Transferring files to and from the HPC system

Before you can run your python scripts, you will most likely need to upload your python and data from your computer to the HPC system.  Instructions on how to do this can be found here.

Once you have uploaded your programs and data, you can then run the python code directly on the HPC system using the instructions provided above.

You can also use the same process of uploading your files to then download the results and anything else you need back to your local computer/s.

What do I do if there is a python module that appears to not be installed?

With some many versions of python installed on the HPC system, it is very common where one python installation may have the packages you want, whereas some others might not.  This is quite common, especially around GPU enabled packages such as tensorflow, etc.

The first thing I would suggest is to use the “Searching for a python module installed” method to see if there is a version of python with the packages you need.  If this is not available, you have a couple of options:

  • If the package is popular and you think others would use it, contact HPC support and let us know what package and python module (which software module do you load) that you would like it installed on.
  • If you want to test a or many packages out to see if they are useful, you can try installing the package/s for individual use using the following the guide “Installing private modules / packages for individual use”.
  • If you have a complex python requirement with many special requirements, you might want to install and deploy a python conda environment within your local home directory.

Searching for a python module installed on our various HPC python software stacks

As some of you might not be aware, we have many different python software stacks installed on our HPC system, with differing python modules installed within them.

To make things easier, I have created a script that you can use to search within all of these python software stacks to see if a python module has been installed and what version it is currently running.

To use this script, simply issue the command

check_python_module.sh <software module>

For example, I get a lot of questions in regards to tensorflow, so you can run the following command to see if this module is installed within all the python software stacks.  With the command issued below, it will search for the module that has the name tensor within it.

bash-4.2$ check_python_module.sh tensor

/apps/modules/modulefiles/anaconda
/apps/modules/modulefiles/anaconda-2.3.0
/apps/modules/modulefiles/anaconda-2.3.0-qiime
/apps/modules/modulefiles/anaconda-2.3.0-qiime2
/apps/modules/modulefiles/anaconda-2.3.0-test
/apps/modules/modulefiles/anaconda2-4.2.0
/apps/modules/modulefiles/anaconda-4.2.0
/apps/modules/modulefiles/anaconda-4.2.0-test
/apps/modules/modulefiles/anaconda-5.0.1
tensorboard                        1.6.0
tensorflow                         1.5.0
tensorflow-tensorboard             1.5.1
/apps/modules/modulefiles/anaconda-python2-5.0.1
tensorboard                        1.6.0
tensorflow                         1.6.0
tensorflow-gpu                     1.6.0
tensorflow-tensorboard             1.5.1
/apps/modules/modulefiles/anaconda-python2-5.0.1-test
/apps/modules/modulefiles/anaconda-python3-2019-10
/apps/modules/modulefiles/anaconda-python3-2020-02
tensorboard                        2.3.0
tensorboard-plugin-wit             1.7.0
tensorflow                         2.3.1
tensorflow-estimator               2.3.0
tensorflow-gpu                     2.1.0
/apps/modules/modulefiles/anaconda-python3-2020-02-test
/apps/modules/modulefiles/deep-learning-packages
tensorboard (1.6.0)
tensorflow-gpu (1.6.0)
/apps/modules/modulefiles/deep-learning-packages2
tensorboard                        1.8.0
tensorflow                         1.8.0
tensorflow-gpu                     1.8.0
/apps/modules/modulefiles/python
tensorboard                        1.8.0
tensorflow                         1.8.0
tensorflow-gpu                     1.8.0
/apps/modules/modulefiles/python2
tensorboard                        1.8.0
tensorflow                         1.8.0
tensorflow-gpu                     1.8.0
/apps/modules/modulefiles/python-2.6.2
tensorboard                        1.8.0
tensorflow                         1.8.0
tensorflow-gpu                     1.8.0
/apps/modules/modulefiles/python-2.7.14
tensorboard                        1.8.0
tensorflow                         1.8.0
tensorflow-gpu                     1.8.0
/apps/modules/modulefiles/python-2.7.15
tensorboard                        1.8.0
tensorflow                         1.8.0
tensorflow-gpu                     1.8.0
/apps/modules/modulefiles/python-2.7.3
tensorboard                        1.8.0
tensorflow                         1.8.0
tensorflow-gpu                     1.8.0
/apps/modules/modulefiles/python-2.7.9
/apps/modules/modulefiles/python3
/apps/modules/modulefiles/python-3.4.3
/apps/modules/modulefiles/python-3.4.9
/apps/modules/modulefiles/python-3.5.9
/apps/modules/modulefiles/python-3.7.4
/apps/modules/modulefiles/python-3.7.6
/apps/modules/modulefiles/python-3.8.0
/apps/modules/modulefiles/python-3.8.2-deep-learning
tensorboard                   2.2.1
tensorboard-plugin-wit        1.6.0.post3
tensorflow-estimator          2.2.0
tensorflow-gpu                2.2.0rc3
bash-4.2$

Thus, for the example above, you can see within the software module “python-3.8.2-deep-learning” it has the following packages installed.

tensorboard                   2.2.1
tensorboard-plugin-wit        1.6.0.post3
tensorflow-estimator          2.2.0
tensorflow-gpu                2.2.0rc3

Please note that if the python module tensorflow-gpu is available, it highlights that version of tensorflow has been built to use GPU’S.

Thus to use this python software stack, all you would need to do is load the appropriate software module.

module load python-3.8.2-deep-learning

Hopefully this little script will make it easier to determine what python stack has the modules installed you require.  If none of them has the module you are chasing, or the version, please do hesitate to ask people via teams or email.

Installing private modules / packages for individual use

Before considering this option, please be aware of the following considerations:

  • This will install python packages for the version of python you have loaded.  It is important to have the version of python you want to use loaded (using the module load <package> command).
  • When using the recommended method below, it will install the packages and associated applications in your “ /home ” directory.  Generally when using these method you will see things get installed in the following locations within your /home directory, ./.local/bin./.local/lib and ./.local/share .
  • Things will get installed into a version PythonX.Y, version directory as can be seen in the example below (where X is the major version and Y is the Minor version)

    $ ls .local/lib/
    python2.7  python3.8 python3.9

This may cause issues where you might be using different “micro versions”, ie, 3.9.0, 3.9.1 etc, they will all use the same locally installed packages.

We can use the pip command to install a package locally.  Some things to consider are:

  • Depending on the module loaded, you might need to use either the pip or pip3 command.  You can use the command which pip or which pip3 to see which particular version of pip is being used.
  • The package names are case sensitive.  Thus when installing a package, ensure you have the name correctly capitalised.
  • You add the argument --user to the pip command to ensure it installs the package locally to you.  Without this argument, you may get an error highlighting you don’t have permissions to install any packages (as admin privileges are required).

To install a python package locally, issue the command:

$ pip install –-user <package name>

Or

$ pip3 install –-user <package name>

The following example shows how to install the package numpy as a local user.

pip install –-user numpy

Deploying your own Conda python environment

There is a software carpentry lesson currently being developed that might be useful in understanding how all of this works.  See Introduction to Conda for (Data) Scientists help on understanding and using Conda.

There are a number of things to consider, before using this approach.

  • You should only deploy a full conda environment on the HPC system if you have hard or complex requirements.  The use and deployment of many “conda” environments can very quickly create 1000’s – 1,000,000’s of files and actually cause HPC filesystem performance issues.  Whilst there are no issues if you need to use a conda environment, it is recommended that not everyone creates one if the preinstalled python software modules or locally installed python modules options is not effective first in the first instance.

To deploy your own conda environment, you can use these instructions

Load a Miniconda software module

(in the example below, the latest version is used)

You need to load a conda software module to be able to to create or activate a conda enviroment.

bash-4.2$ module load Miniconda3/4.9.2

Check which conda program you are going to use, to ensure you are using the correct version

bash-4.2$ which conda

/apps/software/Miniconda3/4.9.2/bin/conda

Creating a conda environment

It is good practice to give your environment a meaningful name to help yourself remember the purpose of the environment.

While naming things can be difficult, $PROJECT_NAME-env is a good convention to follow. You may also consider using the specific version of a package or why you had to create a new environment.

bash-4.2$ conda create --name python36-env python=3.6

Collecting package metadata (current_repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
current version: 4.9.2
latest version: 4.10.1

Please update conda by running

$ conda update -n base -c defaults conda

## Package Plan ##
environment location: /home/bellj/.conda/envs/python36-env
added / updated specs:
- python=3.6

The following packages will be downloaded:

package | build ---------------------------|----------------- _
openmp_mutex-4.5 | 1_gnu 22 KB
ca-certificates-2021.5.25 | h06a4308_1 112 KB
certifi-2021.5.30 | py36h06a4308_0 139 KB
ld_impl_linux-64-2.35.1 | h7274673_9 586 KB
libgcc-ng-9.3.0 | h5101ec6_17 4.8 MB
libgomp-9.3.0 | h5101ec6_17 311 KB
libstdcxx-ng-9.3.0 | hd4cf53a_17 3.1 MB
openssl-1.1.1k | h27cfd23_0 2.5 MB
pip-21.1.3 | py36h06a4308_0 1.8 MB
python-3.6.13 | h12debd9_1 32.5 MB
readline-8.1 | h27cfd23_0 362 KB
setuptools-52.0.0 | py36h06a4308_0 724 KB
sqlite-3.36.0 | hc218d9a_0 990 KB
wheel-0.36.2 | pyhd3eb1b0_0 33 KB
------------------------------------------------------------
Total: 47.9 MB The following NEW packages will be INSTALLED:

_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
_openmp_mutex pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu
ca-certificates pkgs/main/linux-64::ca-certificates-2021.5.25-h06a4308_1
certifi pkgs/main/linux-64::certifi-2021.5.30-py36h06a4308_0 l
d_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.35.1-h7274673_9
libffi pkgs/main/linux-64::libffi-3.3-he6710b0_2
libgcc-ng pkgs/main/linux-64::libgcc-ng-9.3.0-h5101ec6_17
libgomp pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17
libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.3.0-hd4cf53a_17
ncurses pkgs/main/linux-64::ncurses-6.2-he6710b0_1
openssl pkgs/main/linux-64::openssl-1.1.1k-h27cfd23_0
pip pkgs/main/linux-64::pip-21.1.3-py36h06a4308_0
python pkgs/main/linux-64::python-3.6.13-h12debd9_1
readline pkgs/main/linux-64::readline-8.1-h27cfd23_0
setuptools pkgs/main/linux-64::setuptools-52.0.0-py36h06a4308_0
sqlite pkgs/main/linux-64::sqlite-3.36.0-hc218d9a_0
tk pkgs/main/linux-64::tk-8.6.10-hbc83047_0
wheel pkgs/main/noarch::wheel-0.36.2-pyhd3eb1b0_0
xz pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
zlib pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3

Proceed ([y]/n)? y

Downloading and Extracting Packages ld_impl_linux-64-2.3 | 586 KB | ################################################################################################################################################### | 100% python-3.6.13 | 32.5 MB | ################################################################################################################################################### | 100% setuptools-52.0.0 | 724 KB | ################################################################################################################################################### | 100% libgcc-ng-9.3.0 | 4.8 MB | ################################################################################################################################################### | 100% readline-8.1 | 362 KB | ################################################################################################################################################### | 100% pip-21.1.3 | 1.8 MB | ################################################################################################################################################### | 100% sqlite-3.36.0 | 990 KB | ################################################################################################################################################### | 100% libgomp-9.3.0 | 311 KB | ################################################################################################################################################### | 100% libstdcxx-ng-9.3.0 | 3.1 MB | ################################################################################################################################################### | 100% certifi-2021.5.30 | 139 KB | ################################################################################################################################################### | 100% _openmp_mutex-4.5 | 22 KB | ################################################################################################################################################### | 100% ca-certificates-2021 | 112 KB | ################################################################################################################################################### | 100% openssl-1.1.1k | 2.5 MB | ################################################################################################################################################### | 100% wheel-0.36.2 | 33 KB | ################################################################################################################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate python36-env
#
# To deactivate an active environment, use
#
# $ conda deactivate

bash-4.2$

Activating a conda environment

To activate a conda environment, you will need to source the environment.

(I am hopefully to be able to remove this step, when I have more time to investigate)

bash-4.2$ conda activate python36-env
(python36-env) bash-4.2$

Deactivate the current environment

(I am hopefully to be able to remove this step, when I have more time to investigate)

bash-4.2$ conda deactivate python36-env
bash-4.2$

To install additional python packages within the conda environment

Note you need to be in activated conda enviroment to run these commands

python36-env) bash-4.2$ conda install matplotlib

Collecting package metadata (current_repodata.json): done

Solving environment: done

==> WARNING: A newer version of conda exists. <==
current version: 4.9.2
latest version: 4.10.1

Please update conda by running

$ conda update -n base -c defaults conda

## Package Plan ##
environment location: /home/bellj/.conda/envs/python36-env
added / updated specs:

- matplotlib

The following packages will be downloaded:

package                    |            build

---------------------------|-----------------
blas-1.0                   |         openblas          46 KB
cycler-0.10.0              |           py36_0          13 KB
dbus-1.13.18               |       hb2f20db_0         504 KB
expat-2.4.1                |       h2531618_2         168 KB
fontconfig-2.13.1          |       h6c09931_0         250 KB
freetype-2.10.4            |       h5ab3b9f_0         596 KB
glib-2.68.2                |       h36276a3_0         3.0 MB
gst-plugins-base-1.14.0    |       h8213a91_2         4.9 MB
gstreamer-1.14.0           |       h28cd5cc_2         3.2 MB
icu-58.2                   |       he6710b0_3        10.5 MB
jpeg-9b                    |       h024ee3a_2         214 KB
kiwisolver-1.3.1           |   py36h2531618_0          80 KB
lcms2-2.12                 |       h3be6417_0         312 KB
libgfortran-ng-7.5.0       |      ha8ba4b0_17          22 KB
libgfortran4-7.5.0         |      ha8ba4b0_17         995 KB
libopenblas-0.3.13         |       h4367d64_0         4.8 MB
libpng-1.6.37              |       hbc83047_0         278 KB
libtiff-4.2.0              |       h85742a9_0         502 KB
libuuid-1.0.3              |       h1bed415_2          15 KB
libwebp-base-1.2.0         |       h27cfd23_0         437 KB
libxcb-1.14                |       h7b6447c_0         505 KB
libxml2-2.9.12             |       h03d6c58_0         1.2 MB
lz4-c-1.9.3                |       h2531618_0         186 KB
matplotlib-3.3.4           |   py36h06a4308_0          26 KB
matplotlib-base-3.3.4      |   py36h62a2d02_0         5.1 MB
numpy-1.17.0               |   py36h99e49ec_0          24 KB
numpy-base-1.17.0          |   py36h2f8d375_0         5.2 MB
olefile-0.46               |           py36_0          48 KB
pcre-8.45                  |       h295c915_0         207 KB
pillow-8.2.0               |   py36he98fc37_0         627 KB
pyparsing-2.4.7            |     pyhd3eb1b0_0          59 KB
pyqt-5.9.2                 |   py36h05f1152_2         4.5 MB
python-dateutil-2.8.1      |     pyhd3eb1b0_0         221 KB
qt-5.9.7                   |       h5867ecd_1        68.5 MB
sip-4.19.8                 |   py36hf484d3e_0         274 KB
six-1.16.0                 |     pyhd3eb1b0_0          18 KB
tornado-6.1                |   py36h27cfd23_0         581 KB
zstd-1.4.9                 |       haebb681_0         480 KB
------------------------------------------------------------

Total:       118.4 MB

The following NEW packages will be INSTALLED:
blas               pkgs/main/linux-64::blas-1.0-openblas
cycler pkgs/main/linux-64::cycler-0.10.0-py36_0
dbus pkgs/main/linux-64::dbus-1.13.18-hb2f20db_0
expat pkgs/main/linux-64::expat-2.4.1-h2531618_2
fontconfig         pkgs/main/linux-64::fontconfig-2.13.1-h6c09931_0
freetype pkgs/main/linux-64::freetype-2.10.4-h5ab3b9f_0
glib pkgs/main/linux-64::glib-2.68.2-h36276a3_0
gst-plugins-base pkgs/main/linux-64::gst-plugins-base-1.14.0-h8213a91_2
gstreamer pkgs/main/linux-64::gstreamer-1.14.0-h28cd5cc_2
icu pkgs/main/linux-64::icu-58.2-he6710b0_3
jpeg pkgs/main/linux-64::jpeg-9b-h024ee3a_2
kiwisolver pkgs/main/linux-64::kiwisolver-1.3.1-py36h2531618_0
lcms2 pkgs/main/linux-64::lcms2-2.12-h3be6417_0
libgfortran-ng pkgs/main/linux-64::libgfortran-ng-7.5.0-ha8ba4b0_17
libgfortran4 pkgs/main/linux-64::libgfortran4-7.5.0-ha8ba4b0_17
libopenblas        pkgs/main/linux-64::libopenblas-0.3.13-h4367d64_0
libpng pkgs/main/linux-64::libpng-1.6.37-hbc83047_0
libtiff pkgs/main/linux-64::libtiff-4.2.0-h85742a9_0
libuuid pkgs/main/linux-64::libuuid-1.0.3-h1bed415_2
libwebp-base       pkgs/main/linux-64::libwebp-base-1.2.0-h27cfd23_0
libxcb pkgs/main/linux-64::libxcb-1.14-h7b6447c_0
libxml2 pkgs/main/linux-64::libxml2-2.9.12-h03d6c58_0
lz4-c pkgs/main/linux-64::lz4-c-1.9.3-h2531618_0
matplotlib pkgs/main/linux-64::matplotlib-3.3.4-py36h06a4308_0
matplotlib-base pkgs/main/linux-64::matplotlib-base-3.3.4-py36h62a2d02_0
numpy              pkgs/r/linux-64::numpy-1.17.0-py36h99e49ec_0
numpy-base pkgs/r/linux-64::numpy-base-1.17.0-py36h2f8d375_0
olefile pkgs/main/linux-64::olefile-0.46-py36_0
pcre pkgs/main/linux-64::pcre-8.45-h295c915_0
pillow             pkgs/main/linux-64::pillow-8.2.0-py36he98fc37_0
pyparsing pkgs/main/noarch::pyparsing-2.4.7-pyhd3eb1b0_0
pyqt pkgs/main/linux-64::pyqt-5.9.2-py36h05f1152_2
python-dateutil pkgs/main/noarch::python-dateutil-2.8.1-pyhd3eb1b0_0
qt                 pkgs/main/linux-64::qt-5.9.7-h5867ecd_1
sip pkgs/main/linux-64::sip-4.19.8-py36hf484d3e_0
six pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
tornado pkgs/main/linux-64::tornado-6.1-py36h27cfd23_0
zstd               pkgs/main/linux-64::zstd-1.4.9-haebb681_0

Proceed ([y]/n)? y

Downloading and Extracting Packages

libtiff-4.2.0        | 502 KB    | ################################################################################################################################################### | 100%
libopenblas-0.3.13   | 4.8 MB    | ################################################################################################################################################### | 100%
qt-5.9.7             | 68.5 MB | ################################################################################################################################################### | 100%
libgfortran-ng-7.5.0 | 22 KB     | ################################################################################################################################################### | 100%
gst-plugins-base-1.1 | 4.9 MB    | ################################################################################################################################################### | 100%
libxcb-1.14          | 505 KB    | ################################################################################################################################################### | 100%
zstd-1.4.9           | 480 KB    | ################################################################################################################################################### | 100%
jpeg-9b              | 214 KB    | ################################################################################################################################################### | 100%
numpy-base-1.17.0    | 5.2 MB    | ################################################################################################################################################### | 100%
lcms2-2.12           | 312 KB    | ################################################################################################################################################### | 100%
libwebp-base-1.2.0   | 437 KB    | ################################################################################################################################################### | 100%
matplotlib-base-3.3. | 5.1 MB    | ################################################################################################################################################### | 100%
pillow-8.2.0         | 627 KB    | ################################################################################################################################################### | 100%
libxml2-2.9.12       | 1.2 MB    | ################################################################################################################################################### | 100%
icu-58.2             | 10.5 MB   | ################################################################################################################################################### | 100%
sip-4.19.8           | 274 KB    | ################################################################################################################################################### | 100%
libpng-1.6.37        | 278 KB    | ################################################################################################################################################### | 100%
gstreamer-1.14.0     | 3.2 MB    | ################################################################################################################################################### | 100%
cycler-0.10.0        | 13 KB     | ################################################################################################################################################### | 100%
six-1.16.0           | 18 KB     | ################################################################################################################################################### | 100%
freetype-2.10.4      | 596 KB    | ################################################################################################################################################### | 100%
glib-2.68.2          | 3.0 MB    | ################################################################################################################################################### | 100%
kiwisolver-1.3.1     | 80 KB     | ################################################################################################################################################### | 100%
numpy-1.17.0         | 24 KB     | ################################################################################################################################################### | 100%
olefile-0.46         | 48 KB     | ################################################################################################################################################### | 100%
dbus-1.13.18         | 504 KB    | ################################################################################################################################################### | 100%
pyparsing-2.4.7      | 59 KB | ################################################################################################################################################### | 100%
libgfortran4-7.5.0   | 995 KB    | ################################################################################################################################################### | 100%
libuuid-1.0.3        | 15 KB     | ################################################################################################################################################### | 100%
python-dateutil-2.8. | 221 KB    | ################################################################################################################################################### | 100%
pcre-8.45            | 207 KB    | ################################################################################################################################################### | 100%
tornado-6.1          | 581 KB    | ################################################################################################################################################### | 100%
blas-1.0             | 46 KB     | ################################################################################################################################################### | 100%
fontconfig-2.13.1    | 250 KB    | ################################################################################################################################################### | 100%
matplotlib-3.3.4     | 26 KB     | ################################################################################################################################################### | 100%
expat-2.4.1          | 168 KB    | ################################################################################################################################################### | 100%
pyqt-5.9.2           | 4.5 MB    | ################################################################################################################################################### | 100%
lz4-c-1.9.3          | 186 KB    | ################################################################################################################################################### | 100%

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(python36-env) bash-4.2$