title: Exception: Cannot find PyQt5 plugin directories when using Pyinstaller despite PyQt5 not even being used
body: <p>A month ago I solved my applcation freezing issues for Python 2.7 as you can see <a href="https://stackoverflow.com/questions/39135408/using-pyinstaller-on-parmap-causes-a-tkinter-matplotlib-import-error-why">here</a>. I have since adapted my code to python 3.5 (using Anaconda) and it appears to be working.  couldn't get pyinstaller working with Anaconda so switched to trying to generate an .exe using the standard Python 3.5 compiler. I am using the same settings as in the link above (<code>pyinstaller --additional-hooks-dir=. --clean --win-private-assemblies pipegui.py</code>), except I get the following error message instead: </p>
  
  <pre><code>`Exception: Cannot find PyQt5 plugin directories`
  </code></pre>
  
  <p><a href="https://stackoverflow.com/questions/19207746/using-cx-freeze-in-pyqt5-cant-find-pyqt5">This</a> may be related? Except I'm using Pyinstaller and I don't have a setup.py so don't know how I can make use of the solution there, if at all</p>
  
  <p>I find this error message bizarre because I am not using PyQt5, but PyQt4. Here is the full output:</p>
  
  <pre><code>C:\Users\Cornelis Dirk Haupt\PycharmProjects\Mesoscale-Brain-Explorer\src&gt;pyinstaller --additional-hooks-dir=. --clean --win-private-assemblies pipegui.py
  62 INFO: PyInstaller: 3.2
  62 INFO: Python: 3.5.0
  62 INFO: Platform: Windows-10.0.14393
  62 INFO: wrote C:\Users\Cornelis Dirk Haupt\PycharmProjects\Mesoscale-Brain-Explorer\src\pipegui.spec
  62 INFO: UPX is not available.
  62 INFO: Removing temporary files and cleaning cache in C:\Users\Cornelis Dirk Haupt\AppData\Roaming\pyinstaller
  62 INFO: Extending PYTHONPATH with paths
  ['C:\\Users\\Cornelis Dirk Haupt\\PycharmProjects\\Mesoscale-Brain-Explorer',
   'C:\\Users\\Cornelis Dirk '
   'Haupt\\PycharmProjects\\Mesoscale-Brain-Explorer\\src']
  62 INFO: checking Analysis
  62 INFO: Building Analysis because out00-Analysis.toc is non existent
  62 INFO: Initializing module dependency graph...
  62 INFO: Initializing module graph hooks...
  62 INFO: Analyzing base_library.zip ...
  1430 INFO: running Analysis out00-Analysis.toc
  1727 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-math-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1742 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-runtime-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1742 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-locale-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1758 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-stdio-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1758 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-heap-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1774 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-string-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1774 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-environment-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1774 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-time-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1789 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-filesystem-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1789 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-conio-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1789 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-process-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1805 WARNING: Can not get binary dependencies for file: C:\Anaconda3\api-ms-win-crt-convert-l1-1-0.dll
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 695, in getImports
      return _getImports_pe(pth)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe
      dll, _ = sym.forwarder.split('.')
  TypeError: a bytes-like object is required, not 'str'
  1805 INFO: Caching module hooks...
  1805 INFO: Analyzing C:\Users\Cornelis Dirk Haupt\PycharmProjects\Mesoscale-Brain-Explorer\src\pipegui.py
  1992 INFO: Processing pre-find module path hook   distutils
  2055 INFO: Processing pre-safe import module hook   six.moves
  3181 INFO: Processing pre-find module path hook   site
  3181 INFO: site: retargeting to fake-dir 'c:\\users\\cornelis dirk haupt\\appdata\\local\\programs\\python\\python35\\lib\\site-packages\\PyInstaller\\fake-modules'
  4298 INFO: Processing pre-safe import module hook   win32com
  9975 INFO: Loading module hooks...
  9975 INFO: Loading module hook "hook-_tkinter.py"...
  10121 INFO: checking Tree
  10121 INFO: Building Tree because out00-Tree.toc is non existent
  10122 INFO: Building Tree out00-Tree.toc
  10184 INFO: checking Tree
  10184 INFO: Building Tree because out01-Tree.toc is non existent
  10185 INFO: Building Tree out01-Tree.toc
  10198 INFO: Loading module hook "hook-matplotlib.py"...
  10404 INFO: Loading module hook "hook-pywintypes.py"...
  10526 INFO: Loading module hook "hook-xml.py"...
  10526 INFO: Loading module hook "hook-pydoc.py"...
  10527 INFO: Loading module hook "hook-scipy.linalg.py"...
  10527 INFO: Loading module hook "hook-scipy.sparse.csgraph.py"...
  10529 INFO: Loading module hook "hook-plugins.py"...
  10721 INFO: Processing pre-find module path hook   PyQt4.uic.port_v3
  10726 INFO: Processing pre-find module path hook   PyQt4.uic.port_v2
  12402 INFO: Loading module hook "hook-OpenGL.py"...
  12583 INFO: Loading module hook "hook-PyQt4.QtGui.py"...
  12802 INFO: Loading module hook "hook-encodings.py"...
  12807 INFO: Loading module hook "hook-PyQt4.uic.py"...
  12812 INFO: Loading module hook "hook-PyQt5.QtWidgets.py"...
  12813 INFO: Loading module hook "hook-xml.etree.cElementTree.py"...
  12813 INFO: Loading module hook "hook-setuptools.py"...
  12814 INFO: Loading module hook "hook-scipy.special._ufuncs.py"...
  12814 INFO: Loading module hook "hook-PyQt5.QtCore.py"...
  Traceback (most recent call last):
    File "&lt;string&gt;", line 2, in &lt;module&gt;
  ImportError: DLL load failed: The specified procedure could not be found.
  Traceback (most recent call last):
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\runpy.py", line 170, in _run_module_as_main
      "__main__", mod_spec)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\runpy.py", line 85, in _run_code
      exec(code, run_globals)
    File "C:\Users\Cornelis Dirk Haupt\AppData\Local\Programs\Python\Python35\Scripts\pyinstaller.exe\__main__.py", line 9, in &lt;module&gt;
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\__main__.py", line 90, in run
      run_build(pyi_config, spec_file, **vars(args))
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\__main__.py", line 46, in run_build
      PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\building\build_main.py", line 788, in main
      build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\building\build_main.py", line 734, in build
      exec(text, spec_namespace)
    File "&lt;string&gt;", line 16, in &lt;module&gt;
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\building\build_main.py", line 212, in __init__
      self.__postinit__()
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\building\datastruct.py", line 178, in __postinit__
      self.assemble()
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\building\build_main.py", line 470, in assemble
      module_hook.post_graph()
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\building\imphook.py", line 409, in post_graph
      self._load_hook_module()
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\building\imphook.py", line 376, in _load_hook_module
      self.hook_module_name, self.hook_filename)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\compat.py", line 725, in importlib_load_source
      return mod_loader.load_module()
    File "&lt;frozen importlib._bootstrap_external&gt;", line 385, in _check_name_wrapper
    File "&lt;frozen importlib._bootstrap_external&gt;", line 806, in load_module
    File "&lt;frozen importlib._bootstrap_external&gt;", line 665, in load_module
    File "&lt;frozen importlib._bootstrap&gt;", line 268, in _load_module_shim
    File "&lt;frozen importlib._bootstrap&gt;", line 693, in _load
    File "&lt;frozen importlib._bootstrap&gt;", line 673, in _load_unlocked
    File "&lt;frozen importlib._bootstrap_external&gt;", line 662, in exec_module
    File "&lt;frozen importlib._bootstrap&gt;", line 222, in _call_with_frames_removed
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\hooks\hook-PyQt5.QtCore.py", line 15, in &lt;module&gt;
      binaries = qt_plugins_binaries('codecs', namespace='PyQt5')
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\utils\hooks\qt.py", line 64, in qt_plugins_binaries
      pdir = qt_plugins_dir(namespace=namespace)
    File "c:\users\cornelis dirk haupt\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\utils\hooks\qt.py", line 38, in qt_plugins_dir
      raise Exception('Cannot find {0} plugin directories'.format(namespace))
  Exception: Cannot find PyQt5 plugin directories
  </code></pre>
  
  <p>I will say I also have no clue what to make of the <code>TypeError: a bytes-like object is required, not 'str'</code><a href="https://stackoverflow.com/questions/33054527/python-3-5-typeerror-a-bytes-like-object-is-required-not-str">This</a> may be related? I only use binary mode with pickle a handful of times as far as I can tell this is my only usage:</p>
  
  <pre><code>pickle.dump( roiState, open( fileName, "wb" ) )
  roiState = pickle.load(open(fileName, "rb"))
  </code></pre>
  
  <p>I don't have any errors when I run the application, only getting these errors when trying to generate an .exe using pyinstaller. Why?</p>
  
  <p>Note also that Anaconda3 does pop up in the traceback above (why is it looking for binaries there?) but I:</p>
  
  <ol>
  <li>Uninstalled pyinstaller from Anaconda</li>
  <li>Am using the standard Python 3.5 (64-bit) compiler</li>
  </ol>
  
  <p>Only thing I can think of that may be the culprit is that I'm no longer using the developer version of Pyinstaller (it just flat does not run in Python 3.5). I had to use the developer version to solve my freezing issue <a href="https://stackoverflow.com/questions/39135408/using-pyinstaller-on-parmap-causes-a-tkinter-matplotlib-import-error-why">here</a> when my code was written for python 2.7</p>