2

I am getting:

"import error :No Module named 'PyQt5.QtGui'" during the build. 

The code snippet for setup.py file and .py is below.

Please take a look and suggest changes i need to make to either the setup file or the code i am trying to generate an exe.

I am using a distribution of winpython and hence the large exclude list .

I have looked at using pyinstaller but www.pyinstaller.org seems to be down. If there is a simpler way of converting my code into a exe , please do share.

code from .py -

import sys
from PyQt5.QtWidgets import QApplication,QPushButton, QInputDialog, 
QLineEdit, QFileDialog,QMainWindow
from PyQt5.QtGui import QIcon
import csv
import pathlib
import os
import pandas as pd
import gc
import numpy as np
import matplotlib
import xlsxwriter

setup file-

import os.path
import sys
from cx_Freeze import setup, Executable

PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')
build_exe_options = {"packages": ["os","pandas", "numpy","sys","PyQt5.QtWidgets","PyQt5.QtGui","csv","pathlib","gc","matplotlib","xlsxwriter"], "excludes": ["adodbapi","alabaster","algopy","altair-widgets","altair","astroid","astroml","babel","backports-abc","backports.weakref","baresql","bcolz","beautifulsoup4","bkcharts",
"blaze","bleach","blosc","bloscpack","bokeh","boto3","botocore","bottleneck","bqplot","brewer2mpl","brotli","certifi","cffi","chardet","click","cloudpickle","clrmagic","colorama",
"colorcet","coloredlogs","comtypes","cvxcanon","cvxopt","cvxpy","cx-freeze","cycler","cyordereddict","cython","cytoolz","dask","datashader","datashape","db.py","decorator","dill",
"distributed","docopt","docrepr","docutils","ecos","edward","emcee","entrypoints","enum34","fast-histogram","fastcache","fasteners","fastparquet","feather-format","flask-cors",
"flask","formlayout","fuzzywuzzy","geopy","gitdb2","gitpython","gmpy2","greenlet","guidata","guiqwt","h5py","heapdict","holoviews","html5lib","humanfriendly","husl","idna","imageio",
"imagesize","ipykernel","ipyleaflet","ipympl","ipyparallel","ipython-genutils","ipython-sql","ipython","ipywidgets","isort","itsdangerous","jedi","jinja2","jmespath","joblib",
"jsonschema","julia","jupyter-client","jupyter-console","jupyter-core","jupyter-sphinx","jupyter","jupyterlab-launcher","jupyterlab","keras-vis","keras","lasagne","lazy-object-proxy",
"llvmlite","lmfit","locket","lxml","markdown","markupsafe","mccabe","metakernel","mistune","mizani","mkl-service","monotonic","moviepy","mpl-scatter-density","mpld3","mpldatacursor",
"mpmath","msgpack-python","multipledispatch","multiprocess","mypy","mysql-connector-python","nbconvert-reportlab","nbconvert","nbdime","nbformat","netcdf4","networkx","nltk","notebook",
"numba","numdifftools","numexpr","numpydoc","oct2py","octave-kernel","odo","olefile","palettable","pandas-datareader","pandocfilters","param","partd","patsy","pdfrw","pep8","pexpect",
"pg8000","pickleshare","pillow","pip","pkginfo","plotnine","ply","prettytable","prompt-toolkit","protobuf","psutil","ptpython","ptyprocess","pulp","pweave",
"py","pyarrow","pyaudio","pybars3","pybind11","pycodestyle","pycparser","pyflakes","pyflux","pygame","pygments","pylint","pymc3","pymc","pymeta3","pymongo","pyodbc","pyopengl",
"pypandoc","pyparsing","pyqtgraph","pyreadline","pyserial","pystache","pytest","python-dateutil","python-hdf4","python-levenshtein","python-snappy","pythonnet","pythonqwt","pytz","pywavelets",
"pywin32","pywinpty","pywinusb","pyyaml","pyzmq","qtawesome","qtconsole","qtpy","redis","reportlab","requests-file","requests-ftp","requests-toolbelt","requests","rope",
"rpy2","rx","s3fs","s3transfer","scikit-fuzzy","scikit-image","scikit-learn","scikit-neuralnetwork","scikit-optimize","scilab2py","scipy","scs","seaborn","selenium","setuptools",
"simplegeneric","simplejson","sip","six","smmap2","snakeviz","snowballstemmer","sortedcontainers","sounddevice","sphinx-rtd-theme","sphinx","sphinxcontrib-websupport","spyder-notebook","spyder-reports",
"spyder-terminal","spyder","sqlalchemy","sqlite-bro","sqlparse","statsmodels","supersmoother","sympy","tables","tblib","tensorflow","testpath","theano","thriftpy","toolz","tornado","tqdm","traitlets","traittypes","twine",
"twitter","typed-ast","urllib3","vega","vitables","wcwidth","webencodings","werkzeug","wheel","widgetsnbextension","winpython","wordcloud","wrapt","xarray","xlrd","xlwings","zarr","zict"]}
setup(
name="MyProgram",                           
version="0.1",                              
description="MyDescription",                
options = {"build_exe": build_exe_options}, 
executables=[Executable("pyqt5.py",    
                        base = ("Win32GUI" if sys.platform == "win32" 
                        else None))],

)

Aaron_ab
  • 3,450
  • 3
  • 28
  • 42
prdp13
  • 81
  • 1
  • 8

1 Answers1

0

the error code suggests the error comes from this line

from PyQt5.QtGui import QIcon

are you sure you have PyQT5.QtGui installed in your enviroment