Unverified Commit 72de89f5 authored by Jameel Al-Aziz's avatar Jameel Al-Aziz Committed by GitHub
Browse files

Add hidden import to PyInstaller build (GH-2466)

Add new platformdirs dependencies as hidden imports when creating
PyInstaller-based binaries.

platformdirs imports the module for each platform dynamically, which
PyInstaller is unable to correctly detect for packing. By adding the
modules as hidden imports, we are telling PyInstaller to include the
modules in the packaged binary.

This issue seems to have been introduce when switching to platformdirs
in #2375. fixes #2464

Commit history before merge:

* Add hidden import to PyInstaller build

Add new platformdirs dependency as a hidden import when creating
PyInstaller based binaries.

* Only include the platformdirs for the relevant os
parent 77d11bb4
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -16,14 +16,17 @@ jobs:
            pathsep: ";"
            asset_name: black_windows.exe
            executable_mime: "application/vnd.microsoft.portable-executable"
            platform: windows
          - os: ubuntu-20.04
            pathsep: ":"
            asset_name: black_linux
            executable_mime: "application/x-executable"
            platform: unix
          - os: macos-latest
            pathsep: ":"
            asset_name: black_macos
            executable_mime: "application/x-mach-binary"
            platform: macos

    steps:
      - uses: actions/checkout@v2
@@ -40,8 +43,10 @@ jobs:
          python -m pip install pyinstaller

      - name: Build binary
        run: |
          python -m PyInstaller -F --name ${{ matrix.asset_name }} --add-data 'src/blib2to3${{ matrix.pathsep }}blib2to3' src/black/__main__.py
        run: >
          python -m PyInstaller -F --name ${{ matrix.asset_name }} --add-data
          'src/blib2to3${{ matrix.pathsep }}blib2to3' --hidden-import platformdirs.${{
          matrix.platform }} src/black/__main__.py

      - name: Upload binary as release asset
        uses: actions/upload-release-asset@v1
+6 −0
Original line number Diff line number Diff line
# Change Log

## Unreleased

### Packaging

- Fix missing modules in self-contained binaries (#2466)

## 21.8b0

### _Black_