specter-desktop icon indicating copy to clipboard operation
specter-desktop copied to clipboard

Without pinning sqlalchemy, building specterd does not work (with HWI)

Open k9ert opened this issue 1 year ago • 0 comments

In sqlalchemy 2.0.7 this line got introduced:

    from typing_extensions import (
        dataclass_transform as dataclass_transform,  # 3.11,
    )
unfold
204393 INFO: Trying to import notifications.service
204463 INFO: Iterating on importer=FileFinder('C:\\gitlab-runner\\builds\\xPkLDUk2\\0\\k9ert\\specter-desktop\\.buildenv\\Lib\\site-packages\\cryptoadvance\\specterext') , module_name=spectrum is_pkg=True
204463 INFO: Trying to import spectrum.service
Traceback (most recent call last):
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\cryptoadvance\specter\util\reflection.py", line 203, in get_subclasses_for_clazz
    module = import_module(f"{module_name}.service")
  File "C:\Program Files\Python310\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'spectrum'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\depend\imphook.py", line 367, in _load_hook_module
    self._hook_module = importlib_load_source(self.hook_module_name, self.hook_filename)
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\compat.py", line 620, in importlib_load_source
    return mod_loader.load_module()
  File "<frozen importlib._bootstrap_external>", line 548, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 1063, in load_module
  File "<frozen importlib._bootstrap_external>", line 888, in load_module
  File "<frozen importlib._bootstrap>", line 290, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 719, in _load
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\pyinstaller\hooks\hook-cryptoadvance.specter.services.py", line 9, in <module>
    for service_dir in ExtensionManager.get_service_x_dirs("templates")
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\cryptoadvance\specter\managers\service_manager\service_manager.py", line 440, in get_service_x_dirs
    for clazz in get_subclasses_for_clazz(Extension)
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\cryptoadvance\specter\util\reflection.py", line 210, in get_subclasses_for_clazz
    module = import_module(
  File "C:\Program Files\Python310\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\cryptoadvance\specterext\spectrum\service.py", line 15, in <module>
    from cryptoadvance.specterext.spectrum.spectrum_node import SpectrumNode
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\cryptoadvance\specterext\spectrum\spectrum_node.py", line 4, in <module>
    from cryptoadvance.specterext.spectrum.bridge_rpc import BridgeRPC
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\cryptoadvance\specterext\spectrum\bridge_rpc.py", line 15, in <module>
    from cryptoadvance.spectrum.spectrum import RPCError as SpectrumRpcError
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\cryptoadvance\spectrum\spectrum.py", line 24, in <module>
    from sqlalchemy.sql import func
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\sqlalchemy\__init__.py", line 12, in <module>
    from . import util as _util
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\sqlalchemy\util\__init__.py", line 15, in <module>
    from ._collections import coerce_generator_arg as coerce_generator_arg
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\sqlalchemy\util\_collections.py", line 39, in <module>
    from .typing import Literal
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\sqlalchemy\util\typing.py", line 37, in <module>
    from typing_extensions import (
ImportError: cannot import name 'dataclass_transform' from 'typing_extensions' (C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\typing_extensions.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\Scripts\pyinstaller.exe\__main__.py", line 7, in <module>
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\__main__.py", line 178, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\__main__.py", line 59, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\building\build_main.py", line 842, in main
    build(specfile, distpath, workpath, clean_build)
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\building\build_main.py", line 764, in build
    exec(code, spec_namespace)
  File "specterd.spec", line 44, in <module>
    a = Analysis(['specterd.py'],
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\building\build_main.py", line 319, in __init__
    self.__postinit__()
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\building\datastruct.py", line 173, in __postinit__
    self.assemble()
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\building\build_main.py", line 487, in assemble
    self.graph.process_post_graph_hooks(self)
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\depend\analysis.py", line 326, in process_post_graph_hooks
    module_hook.post_graph(analysis)
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\depend\imphook.py", line 404, in post_graph
    self._load_hook_module()
  File "C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\.buildenv\lib\site-packages\PyInstaller\depend\imphook.py", line 370, in _load_hook_module
    raise ImportErrorWhenRunningHook(self.hook_module_name, self.hook_filename)
PyInstaller.exceptions.ImportErrorWhenRunningHook: Failed to import module __PyInstaller_hooks_0_cryptoadvance_specter_services required by hook for module C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\pyinstaller\hooks\hook-cryptoadvance.specter.services.py. Please check whether module __PyInstaller_hooks_0_cryptoadvance_specter_services actually exists and whether the hook is compatible with your version of C:\gitlab-runner\builds\xPkLDUk2\0\k9ert\specter-desktop\pyinstaller\hooks\hook-cryptoadvance.specter.services.py: You might want to read more about hooks in the manual and provide a pull-request to improve PyInstaller.
"    --> Creating the release-package"
Compress-Archive : The path 'dist\specterd.exe' either does not exist or is not a valid file system path.
At line:1 char:1
+ Compress-Archive -Path dist\specterd.exe release\specterd-v2.0.1-pre2 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (dist\specterd.exe:String) [Compress-Archive], InvalidOperationExceptio 
   n
    + FullyQualifiedErrorId : ArchiveCmdletPathNotFound,Compress-Archive

So therefore we need to pin sql_alchemy to 1.4.46 and we do that here.

k9ert avatar Mar 21 '23 08:03 k9ert