Skip to content
Snippets Groups Projects
  • Matt Harbison's avatar
    0e2be2abd963
    contrib: add modern `setuptools` and `setuptools_scm` to the packaging venv · 0e2be2abd963
    Matt Harbison authored
    With `py -3.9 contrib/packaging/packaging.py wix --pyoxidizer-target x86_64-pc-windows-msvc`,
    there is an immediate failure after building the venv (3.9.13 has `setuptools`
    58.1.0):
    
        ModuleNotFoundError: No module named 'setuptools.command.build'
    
    With that fixed, the same command then fails immediately with this error:
    
        Couldn't import setuptools_scm (direct call of setup.py?)
    
    Unfortunately, referencing `setuptools` in the requirements file needs
    `--allow-unsafe` to avoid a warning about not pinning `setuptools`.  However,
    the same warning happens if `setuptools` is pinned to a specific revision, so I
    have no idea what it is complaining about.  It's a separate venv that is only
    used for packaging, so we can fix it if it becomes a problem in the future.
    
    Interestingly, the Inno installer build doesn't fail immediately, and I can see
    it installing `setuptools` and `setuptools_scm` in the wall of text it emits.
    Eventually it does fail with the same errors without this change.
    0e2be2abd963
    History
    contrib: add modern `setuptools` and `setuptools_scm` to the packaging venv
    Matt Harbison authored
    With `py -3.9 contrib/packaging/packaging.py wix --pyoxidizer-target x86_64-pc-windows-msvc`,
    there is an immediate failure after building the venv (3.9.13 has `setuptools`
    58.1.0):
    
        ModuleNotFoundError: No module named 'setuptools.command.build'
    
    With that fixed, the same command then fails immediately with this error:
    
        Couldn't import setuptools_scm (direct call of setup.py?)
    
    Unfortunately, referencing `setuptools` in the requirements file needs
    `--allow-unsafe` to avoid a warning about not pinning `setuptools`.  However,
    the same warning happens if `setuptools` is pinned to a specific revision, so I
    have no idea what it is complaining about.  It's a separate venv that is only
    used for packaging, so we can fix it if it becomes a problem in the future.
    
    Interestingly, the Inno installer build doesn't fail immediately, and I can see
    it installing `setuptools` and `setuptools_scm` in the wall of text it emits.
    Eventually it does fail with the same errors without this change.