[PyQt] pyqtdeploy: undefined name 'dlls_dir' when building sysroot on windows 10

Jacob Kanev j_kanev at arcor.de
Tue Oct 23 11:39:17 BST 2018


Hi, I have a problem when using pyqtdeploy to build my application (https://github.com/jkanev/treetime).
When building sysroot, on a Windows 10 64 bit system, using the --verbose flag, I get the following output:

E:\treetime\deploy>pyqtdeploy-sysroot --verbose sysroot.json
[...]
Looking for 'E:\treetime\deploy\Python-3.6.5.tar.xz'
Found 'E:\treetime\deploy\Python-3.6.5.tar.xz'
Copying E:\treetime\deploy\Python-3.6.5.tar.xz to E:\treetime\deploy\sysroot-win-32\src
Unpacking 'Python-3.6.5.tar.xz'
Installing an existing Python v3.6.5 as the host Python
Copying C:\Program Files (x86)\Python36-32\python.exe to E:\treetime\deploy\sysroot-win-32\host\bin\python.exe
Copying C:\Program Files (x86)\Python36-32\Scripts\pip.exe to E:\treetime\deploy\sysroot-win-32\host\bin\pip.exe
Installing an existing Python v3.6.5 as the target Python
Copying C:\Program Files (x86)\Python36-32\libs\python36.lib to E:\treetime\deploy\sysroot-win-32\lib\python36.lib
Copying C:\Program Files (x86)\Python36-32\libs\python3.lib to E:\treetime\deploy\sysroot-win-32\lib\python3.lib
Copying C:\Program Files (x86)\Python36-32\DLLs to E:\treetime\deploy\sysroot-win-32\lib\DLLs3.6
Traceback (most recent call last):
  File "c:\program files (x86)\python36-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files (x86)\python36-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files (x86)\Python36-32\Scripts\pyqtdeploy-sysroot.exe\__main__.py", line 9, in <module>
  File "c:\program files (x86)\python36-32\lib\site-packages\pyqtdeploy\pyqtdeploysysroot_main.py", line 83, in main
    sysroot.build_components(args.component, args.no_clean)
  File "c:\program files (x86)\python36-32\lib\site-packages\pyqtdeploy\sysroot\sysroot.py", line 106, in build_components
    component.build(self)
  File "c:\program files (x86)\python36-32\lib\site-packages\pyqtdeploy\sysroot\plugins\python\python.py", line 106, in build
    self._install_target_from_existing_windows_version(sysroot)
  File "c:\program files (x86)\python36-32\lib\site-packages\pyqtdeploy\sysroot\plugins\python\python.py", line 282, in _install_target_from_existing_windows_version
    os.path.join(dlls_dir, vc_dll))
NameError: name 'dlls_dir' is not defined

Unfortunately I cannot add "dlls_dir" as a key in the json file. How can I get the sysroot created? (Using a setting where Python is compiled from source is not supported under Windows). Any help would be appreciated.

All the best, Jacob.


PS.: Related but not as important: If I want to use the existing version of Python and don't plan to build python from source at all (neither for host nor for target), why do I need the Python source code? If I omit it, pyqtdeploy-sysroot complains it cannot create a version number, if I put an empty file there that contains a version number, it complains the file must be unpackable.

   ______________________________________
   Jacob Kanev
   Sweetmorn, 4th of The Aftermath, 3184
      email: jkanev at zoho.com  |  threema: PPJ6E4FY
      instagram: j_kanev | twitter: @j_kanev  | jabber: jkanev at jabber.ccc.de
      web: http://jkanev.info  |  blog: http://jacobkanev.wordpress.com







More information about the PyQt mailing list