Установка PyQt5 под Python 3.8

Для проверки правильности установки для работы консольной версии создайте файл test.py в кодировке UTF-8 без BOM с содержимым из листинга 1.1.

Листинг 1.1. Проверка работоспособности Python

# -*- coding: utf-8 -*-

import sys

print("Версия Python: " + str(tuple(sys.version_info)))
try:
    from PyQt5 import QtCore
    print("Версия PyQt5: " + QtCore.PYQT_VERSION_STR)
except Exception:
    print("Библиотека PyQt5 не установлена")

print("Для закрытия окна нажмите клавишу <Enter>...")
input()

Запустите файл с помощью двойного щелчка на значке файла или из командной строки. Результат на нашем тестовом компьютере:

D:\projects\python\odt2html>C:/Python38/python.exe test.py
Версия Python: (3, 8, 10, 'final', 0)
Версия PyQt5: 5.15.4
Для закрытия окна нажмите клавишу <Enter>...

Если вы получили сообщение Библиотека PyQt5 не установлена, то нужно дополнительно установить библиотеку PyQt5, которая используется для оконного интерфейса. Предварительно следует проверить работоспособность программы pip. Запускаем Командную строку и выполняем следующие команды:

C:\Users\Unicross>pip --version
pip 21.1.1 from c:\python38\lib\site-packages\pip (python 3.8)

C:\Users\Unicross>C:\Python38\Scripts\pip --version
pip 21.1.1 from c:\python38\lib\site-packages\pip (python 3.8)

Если хотя бы в одном случае получили версию, то можно продолжить. Для установки библиотеки PyQt5 выполняем следующую команду:

pip install pyqt5

Для проверки правильности установки для работы оконной версии создайте файл test.pyw в кодировке UTF-8 без BOM с содержимым из листинга 1.2.

Листинг 1.2. Проверка работоспособности PyQt5

# -*- coding: utf-8 -*-

from PyQt5 import QtCore, QtWidgets
import sys

class MyWindow(QtWidgets.QWidget):

    def __init__(self, parent=None):
        super(MyWindow, self).__init__(parent)

        self.label = QtWidgets.QLabel("Версия Python: " +
                                      str(tuple(sys.version_info)))
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label2 = QtWidgets.QLabel("Версия PyQt5: " +
                                       QtCore.PYQT_VERSION_STR)
        self.label2.setAlignment(QtCore.Qt.AlignCenter)
        self.btnQuit = QtWidgets.QPushButton("&Закрыть окно")
        self.vbox = QtWidgets.QVBoxLayout()
        self.vbox.addWidget(self.label)
        self.vbox.addWidget(self.label2)
        self.vbox.addWidget(self.btnQuit)
        self.setLayout(self.vbox)

        self.btnQuit.clicked.connect(self.on_clicked_btnQuit)

    def on_clicked_btnQuit(self):
        QtWidgets.qApp.quit()


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)

    window = MyWindow()
    window.setWindowTitle("Тестовое окно")
    window.resize(400, 100)
    window.show()

    sys.exit(app.exec_())

Результат выполнения программы на тестовом компьютере показан на рис. 1.7.

1_7.png

Рис. 1.7. Результат выполнения кода из листинга 1.2.

Установка комплекта Anaconda

Вместо отдельной установки Python 3 и PyQt5 можно установить комплект Anaconda. После инсталляции на вашем компьютере будет установлена целая экосистема размером около 3 Гб. На этом комплекте будут работать почти все программы под Python нашей студии. В этом руководстве мы рассмотрим установку комплекта без регистрации в системе, поэтому установленные версии Python не пострадают и их можно использовать одновременно с комплектом Anaconda.

Для установки переходим на сайт https://www.anaconda.com/ и скачиваем дистрибутив. Предыдущие версии можно найти на странице https://repo.anaconda.com/archive/. Под Windows 8 нужно скачать файл https://repo.anaconda.com/archive/Anaconda3-2020.11-Windows-x86_64.exe.

1_8.png

Рис. 1.8. Установка Anaconda. Шаг 1

1_9.png

Рис. 1.9. Установка Anaconda. Шаг 2

1_10.png

Рис. 1.10. Установка Anaconda. Шаг 3

1_11.png

Рис. 1.11. Установка Anaconda. Шаг 4

1_12.png

Рис. 1.12. Установка Anaconda. Шаг 5

1_13.png

Рис. 1.13. Установка Anaconda. Шаг 6

1_14.png

Рис. 1.14. Установка Anaconda. Шаг 7

1_15.png

Рис. 1.15. Установка Anaconda. Шаг 8

Прежде чем запускать скрипты на языке Python под Anaconda необходимо в Командной строке прописать следующие пути в переменную окружения Path для текущего сеанса с помощью кода:

set Path=C:\Anaconda38;C:\Anaconda38\Library\mingw-w64\bin;C:\Anaconda38\Library\bin;C:\Anaconda38\Scripts;C:\Anaconda38\bin;C:\Anaconda38\condabin;%Path%

Теперь можно получить версию Python и запустить скрипты из листингов 1.1 и 1.2:

C:\Users\Unicross>python --version
Python 3.8.5

C:\Users\Unicross>python D:\projects\python\odt2html\test.py
Версия Python: (3, 8, 5, 'final', 0)
Версия PyQt5: 5.9.2
Для закрытия окна нажмите клавишу <Enter>...


C:\Users\Unicross>pythonw D:\projects\python\odt2html\test.pyw

Результат показан на рис. 1.16.

1_16.png

Рис. 1.16. Результат запуска скриптов в Командной строке Windows

Вместо переопределения настроек стандартной Командной строки лучше запустить окно Anaconda Prompt (Anaconda38) (рис. 1.17), в котором настройки уже прописаны. Открываем окно поиска программ в Windows и в строке поиска вводим Anaconda Prompt. Щелкаем левой кнопкой мыши на ярлыке для запуска оболочки. На моем компьютере ярлыки для запуска расположены в следующей папке (не забудьте изменить имя пользователя на свое):

C:\Users\Unicross\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)

Запускаем наши тестовые скрипты:

(base) C:\Users\Unicross>python --version
Python 3.8.5

(base) C:\Users\Unicross>python D:\projects\python\odt2html\test.py
Версия Python: (3, 8, 5, 'final', 0)
Версия PyQt5: 5.9.2
Для закрытия окна нажмите клавишу <Enter>...


(base) C:\Users\Unicross>pythonw D:\projects\python\odt2html\test.pyw

1_17.png

Рис. 1.17. Anaconda Prompt (Anaconda38)

Выполните следующую команду в оболочке Anaconda Prompt (Anaconda38), чтобы увидеть все установленные пакеты:

conda list

Список очень внушительный:

# packages in environment at C:\Anaconda38:
#
# Name                    Version                   Build  Channel
_ipyw_jlab_nb_ext_conf    0.1.0                    py38_0  
alabaster                 0.7.12                     py_0  
anaconda                  2020.11                  py38_0  
anaconda-client           1.7.2                    py38_0  
anaconda-navigator        1.10.0                   py38_0  
anaconda-project          0.8.4                      py_0  
argh                      0.26.2                   py38_0  
argon2-cffi               20.1.0           py38he774522_1  
asn1crypto                1.4.0                      py_0  
astroid                   2.4.2                    py38_0  
astropy                   4.0.2            py38he774522_0  
async_generator           1.10                       py_0  
atomicwrites              1.4.0                      py_0  
attrs                     20.3.0             pyhd3eb1b0_0  
autopep8                  1.5.4                      py_0  
babel                     2.8.1              pyhd3eb1b0_0  
backcall                  0.2.0                      py_0  
backports                 1.0                        py_2  
backports.functools_lru_cache 1.6.1                      py_0  
backports.shutil_get_terminal_size 1.0.0                    py38_2  
backports.tempfile        1.0                        py_1  
backports.weakref         1.0.post1                  py_1  
bcrypt                    3.2.0            py38he774522_0  
beautifulsoup4            4.9.3              pyhb0f4dca_0  
bitarray                  1.6.1            py38h2bbff1b_0  
bkcharts                  0.2                      py38_0  
blas                      1.0                         mkl  
bleach                    3.2.1                      py_0  
blosc                     1.20.1               h7bd577a_0  
bokeh                     2.2.3                    py38_0  
boto                      2.49.0                   py38_0  
bottleneck                1.3.2            py38h2a96729_1  
brotlipy                  0.7.0           py38he774522_1000  
bzip2                     1.0.8                he774522_0  
ca-certificates           2020.10.14                    0  
certifi                   2020.6.20          pyhd3eb1b0_3  
cffi                      1.14.3           py38h7a1dbc1_0  
chardet                   3.0.4                 py38_1003  
click                     7.1.2                      py_0  
cloudpickle               1.6.0                      py_0  
clyent                    1.2.2                    py38_1  
colorama                  0.4.4                      py_0  
comtypes                  1.1.7                 py38_1001  
conda                     4.9.2            py38haa95532_0  
conda-build               3.20.5                   py38_1  
conda-env                 2.6.0                         1  
conda-package-handling    1.7.2            py38h76e460a_0  
conda-verify              3.4.2                      py_1  
console_shortcut          0.1.1                         4  
contextlib2               0.6.0.post1                py_0  
cryptography              3.1.1            py38h7a1dbc1_0  
curl                      7.71.1               h2a8f88b_1  
cycler                    0.10.0                   py38_0  
cython                    0.29.21          py38ha925a31_0  
cytoolz                   0.11.0           py38he774522_0  
dask                      2.30.0                     py_0  
dask-core                 2.30.0                     py_0  
decorator                 4.4.2                      py_0  
defusedxml                0.6.0                      py_0  
diff-match-patch          20200713                   py_0  
distributed               2.30.1           py38haa95532_0  
docutils                  0.16                     py38_1  
entrypoints               0.3                      py38_0  
et_xmlfile                1.0.1                   py_1001  
fastcache                 1.1.0            py38he774522_0  
filelock                  3.0.12                     py_0  
flake8                    3.8.4                      py_0  
flask                     1.1.2                      py_0  
freetype                  2.10.4               hd328e21_0  
fsspec                    0.8.3                      py_0  
future                    0.18.2                   py38_1  
get_terminal_size         1.0.0                h38e98db_0  
gevent                    20.9.0           py38he774522_0  
glob2                     0.7                        py_0  
greenlet                  0.4.17           py38he774522_0  
h5py                      2.10.0           py38h5e291fa_0  
hdf5                      1.10.4               h7ebc959_0  
heapdict                  1.0.1                      py_0  
html5lib                  1.1                        py_0  
icc_rt                    2019.0.0             h0cc432a_1  
icu                       58.2                 ha925a31_3  
idna                      2.10                       py_0  
imageio                   2.9.0                      py_0  
imagesize                 1.2.0                      py_0  
importlib-metadata        2.0.0                      py_1  
importlib_metadata        2.0.0                         1  
iniconfig                 1.1.1                      py_0  
intel-openmp              2020.2                      254  
intervaltree              3.1.0                      py_0  
ipykernel                 5.3.4            py38h5ca1d4c_0  
ipython                   7.19.0           py38hd4e2768_0  
ipython_genutils          0.2.0                    py38_0  
ipywidgets                7.5.1                      py_1  
isort                     5.6.4                      py_0  
itsdangerous              1.1.0                      py_0  
jdcal                     1.4.1                      py_0  
jedi                      0.17.1                   py38_0  
jinja2                    2.11.2                     py_0  
joblib                    0.17.0                     py_0  
jpeg                      9b                   hb83a4c4_2  
json5                     0.9.5                      py_0  
jsonschema                3.2.0                      py_2  
jupyter                   1.0.0                    py38_7  
jupyter_client            6.1.7                      py_0  
jupyter_console           6.2.0                      py_0  
jupyter_core              4.6.3                    py38_0  
jupyterlab                2.2.6                      py_0  
jupyterlab_pygments       0.1.2                      py_0  
jupyterlab_server         1.2.0                      py_0  
keyring                   21.4.0                   py38_1  
kiwisolver                1.3.0            py38hd77b12b_0  
krb5                      1.18.2               hc04afaa_0  
lazy-object-proxy         1.4.3            py38he774522_0  
libarchive                3.4.2                h5e25573_0  
libcurl                   7.71.1               h2a8f88b_1  
libiconv                  1.15                 h1df5818_7  
liblief                   0.10.1               ha925a31_0  
libpng                    1.6.37               h2a8f88b_0  
libsodium                 1.0.18               h62dcd97_0  
libspatialindex           1.9.3                h33f27b4_0  
libssh2                   1.9.0                h7a1dbc1_1  
libtiff                   4.1.0                h56a325e_1  
libxml2                   2.9.10               hb89e7f3_3  
libxslt                   1.1.34               he774522_0  
llvmlite                  0.34.0           py38h1a82afc_4  
locket                    0.2.0                    py38_1  
lxml                      4.6.1            py38h1350720_0  
lz4-c                     1.9.2                hf4a77e7_3  
lzo                       2.10                 he774522_2  
m2w64-gcc-libgfortran     5.3.0                         6  
m2w64-gcc-libs            5.3.0                         7  
m2w64-gcc-libs-core       5.3.0                         7  
m2w64-gmp                 6.1.0                         2  
m2w64-libwinpthread-git   5.0.0.4634.697f757               2  
markupsafe                1.1.1            py38he774522_0  
matplotlib                3.3.2                         0  
matplotlib-base           3.3.2            py38hba9282a_0  
mccabe                    0.6.1                    py38_1  
menuinst                  1.4.16           py38he774522_1  
mistune                   0.8.4           py38he774522_1000  
mkl                       2020.2                      256  
mkl-service               2.3.0            py38hb782905_0  
mkl_fft                   1.2.0            py38h45dec08_0  
mkl_random                1.1.1            py38h47e9c7a_0  
mock                      4.0.2                      py_0  
more-itertools            8.6.0              pyhd3eb1b0_0  
mpmath                    1.1.0                    py38_0  
msgpack-python            1.0.0            py38h74a9793_1  
msys2-conda-epoch         20160418                      1  
multipledispatch          0.6.0                    py38_0  
navigator-updater         0.2.1                    py38_0  
nbclient                  0.5.1                      py_0  
nbconvert                 6.0.7                    py38_0  
nbformat                  5.0.8                      py_0  
nest-asyncio              1.4.2              pyhd3eb1b0_0  
networkx                  2.5                        py_0  
nltk                      3.5                        py_0  
nose                      1.3.7                    py38_2  
notebook                  6.1.4                    py38_0  
numba                     0.51.2           py38hf9181ef_1  
numexpr                   2.7.1            py38h25d0782_0  
numpy                     1.19.2           py38hadc3359_0  
numpy-base                1.19.2           py38ha3acd2a_0  
numpydoc                  1.1.0              pyhd3eb1b0_1  
olefile                   0.46                       py_0  
openpyxl                  3.0.5                      py_0  
openssl                   1.1.1h               he774522_0  
packaging                 20.4                       py_0  
pandas                    1.1.3            py38ha925a31_0  
pandoc                    2.11                 h9490d1a_0  
pandocfilters             1.4.3            py38haa95532_1  
paramiko                  2.7.2                      py_0  
parso                     0.7.0                      py_0  
partd                     1.1.0                      py_0  
path                      15.0.0                   py38_0  
path.py                   12.5.0                        0  
pathlib2                  2.3.5                    py38_0  
pathtools                 0.1.2                      py_1  
patsy                     0.5.1                    py38_0  
pep8                      1.7.1                    py38_0  
pexpect                   4.8.0                    py38_0  
pickleshare               0.7.5                 py38_1000  
pillow                    8.0.1            py38h4fa10fc_0  
pip                       20.2.4           py38haa95532_0  
pkginfo                   1.6.1            py38haa95532_0  
pluggy                    0.13.1                   py38_0  
ply                       3.11                     py38_0  
powershell_shortcut       0.0.1                         3  
prometheus_client         0.8.0                      py_0  
prompt-toolkit            3.0.8                      py_0  
prompt_toolkit            3.0.8                         0  
psutil                    5.7.2            py38he774522_0  
py                        1.9.0                      py_0  
py-lief                   0.10.1           py38ha925a31_0  
pycodestyle               2.6.0                      py_0  
pycosat                   0.6.3            py38he774522_0  
pycparser                 2.20                       py_2  
pycurl                    7.43.0.6         py38h7a1dbc1_0  
pydocstyle                5.1.1                      py_0  
pyflakes                  2.2.0                      py_0  
pygments                  2.7.2              pyhd3eb1b0_0  
pylint                    2.6.0                    py38_0  
pynacl                    1.4.0            py38h62dcd97_1  
pyodbc                    4.0.30           py38ha925a31_0  
pyopenssl                 19.1.0                     py_1  
pyparsing                 2.4.7                      py_0  
pyqt                      5.9.2            py38ha925a31_4  
pyreadline                2.1                      py38_1  
pyrsistent                0.17.3           py38he774522_0  
pysocks                   1.7.1                    py38_0  
pytables                  3.6.1            py38ha5be198_0  
pytest                    6.1.1                    py38_0  
python                    3.8.5                h5fd99cc_1  
python-dateutil           2.8.1                      py_0  
python-jsonrpc-server     0.4.0                      py_0  
python-language-server    0.35.1                     py_0  
python-libarchive-c       2.9                        py_0  
pytz                      2020.1                     py_0  
pywavelets                1.1.1            py38he774522_2  
pywin32                   227              py38he774522_1  
pywin32-ctypes            0.2.0                 py38_1000  
pywinpty                  0.5.7                    py38_0  
pyyaml                    5.3.1            py38he774522_1  
pyzmq                     19.0.2           py38ha925a31_1  
qdarkstyle                2.8.1                      py_0  
qt                        5.9.7            vc14h73c81de_0  
qtawesome                 1.0.1                      py_0  
qtconsole                 4.7.7                      py_0  
qtpy                      1.9.0                      py_0  
regex                     2020.10.15       py38he774522_0  
requests                  2.24.0                     py_0  
rope                      0.18.0                     py_0  
rtree                     0.9.4            py38h21ff451_1  
ruamel_yaml               0.15.87          py38he774522_1  
scikit-image              0.17.2           py38h1e1f486_0  
scikit-learn              0.23.2           py38h47e9c7a_0  
scipy                     1.5.2            py38h14eb087_0  
seaborn                   0.11.0                     py_0  
send2trash                1.5.0                    py38_0  
setuptools                50.3.1           py38haa95532_1  
simplegeneric             0.8.1                    py38_2  
singledispatch            3.4.0.3                 py_1001  
sip                       4.19.13          py38ha925a31_0  
six                       1.15.0           py38haa95532_0  
snowballstemmer           2.0.0                      py_0  
sortedcollections         1.2.1                      py_0  
sortedcontainers          2.2.2                      py_0  
soupsieve                 2.0.1                      py_0  
sphinx                    3.2.1                      py_0  
sphinxcontrib             1.0                      py38_1  
sphinxcontrib-applehelp   1.0.2                      py_0  
sphinxcontrib-devhelp     1.0.2                      py_0  
sphinxcontrib-htmlhelp    1.0.3                      py_0  
sphinxcontrib-jsmath      1.0.1                      py_0  
sphinxcontrib-qthelp      1.0.3                      py_0  
sphinxcontrib-serializinghtml 1.1.4                      py_0  
sphinxcontrib-websupport  1.2.4                      py_0  
spyder                    4.1.5                    py38_0  
spyder-kernels            1.9.4                    py38_0  
sqlalchemy                1.3.20           py38h2bbff1b_0  
sqlite                    3.33.0               h2a8f88b_0  
statsmodels               0.12.0           py38he774522_0  
sympy                     1.6.2            py38haa95532_1  
tblib                     1.7.0                      py_0  
terminado                 0.9.1                    py38_0  
testpath                  0.4.4                      py_0  
threadpoolctl             2.1.0              pyh5ca1d4c_0  
tifffile                  2020.10.1        py38h8c2d366_2  
tk                        8.6.10               he774522_0  
toml                      0.10.1                     py_0  
toolz                     0.11.1                     py_0  
tornado                   6.0.4            py38he774522_1  
tqdm                      4.50.2                     py_0  
traitlets                 5.0.5                      py_0  
typing_extensions         3.7.4.3                    py_0  
ujson                     4.0.1            py38ha925a31_0  
unicodecsv                0.14.1                   py38_0  
urllib3                   1.25.11                    py_0  
vc                        14.1                 h0510ff6_4  
vs2015_runtime            14.16.27012          hf0eaf9b_3  
watchdog                  0.10.3                   py38_0  
wcwidth                   0.2.5                      py_0  
webencodings              0.5.1                    py38_1  
werkzeug                  1.0.1                      py_0  
wheel                     0.35.1                     py_0  
widgetsnbextension        3.5.1                    py38_0  
win_inet_pton             1.1.0                    py38_0  
win_unicode_console       0.5                      py38_0  
wincertstore              0.2                      py38_0  
winpty                    0.4.3                         4  
wrapt                     1.11.2           py38he774522_0  
xlrd                      1.2.0                      py_0  
xlsxwriter                1.3.7                      py_0  
xlwings                   0.20.8                   py38_0  
xlwt                      1.3.0                    py38_0  
xmltodict                 0.12.0                     py_0  
xz                        5.2.5                h62dcd97_0  
yaml                      0.2.5                he774522_0  
yapf                      0.30.0                     py_0  
zeromq                    4.3.2                ha925a31_3  
zict                      2.0.0                      py_0  
zipp                      3.4.0              pyhd3eb1b0_0  
zlib                      1.2.11               h62dcd97_4  
zope                      1.0                      py38_1  
zope.event                4.5.0                    py38_0  
zope.interface            5.1.2            py38he774522_0  
zstd                      1.4.5                h04227a9_0  
Реквизиты

ЮMoney: 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов