Skip to content

Commit

Permalink
Add hidden import to PyInstaller build (GH-2466)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
jalaziz committed Sep 1, 2021
1 parent 77d11bb commit 72de89f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
9 changes: 7 additions & 2 deletions .github/workflows/upload_binary.yml
Expand Up @@ -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
Expand All @@ -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
Expand Down
6 changes: 6 additions & 0 deletions CHANGES.md
@@ -1,5 +1,11 @@
# Change Log

## Unreleased

### Packaging

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

## 21.8b0

### _Black_
Expand Down

0 comments on commit 72de89f

Please sign in to comment.