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
This commit is contained in:
parent
77d11bb4b4
commit
72de89f54e
9
.github/workflows/upload_binary.yml
vendored
9
.github/workflows/upload_binary.yml
vendored
@ -16,14 +16,17 @@ jobs:
|
|||||||
pathsep: ";"
|
pathsep: ";"
|
||||||
asset_name: black_windows.exe
|
asset_name: black_windows.exe
|
||||||
executable_mime: "application/vnd.microsoft.portable-executable"
|
executable_mime: "application/vnd.microsoft.portable-executable"
|
||||||
|
platform: windows
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-20.04
|
||||||
pathsep: ":"
|
pathsep: ":"
|
||||||
asset_name: black_linux
|
asset_name: black_linux
|
||||||
executable_mime: "application/x-executable"
|
executable_mime: "application/x-executable"
|
||||||
|
platform: unix
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
pathsep: ":"
|
pathsep: ":"
|
||||||
asset_name: black_macos
|
asset_name: black_macos
|
||||||
executable_mime: "application/x-mach-binary"
|
executable_mime: "application/x-mach-binary"
|
||||||
|
platform: macos
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@ -40,8 +43,10 @@ jobs:
|
|||||||
python -m pip install pyinstaller
|
python -m pip install pyinstaller
|
||||||
|
|
||||||
- name: Build binary
|
- name: Build binary
|
||||||
run: |
|
run: >
|
||||||
python -m PyInstaller -F --name ${{ matrix.asset_name }} --add-data 'src/blib2to3${{ matrix.pathsep }}blib2to3' src/black/__main__.py
|
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
|
- name: Upload binary as release asset
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
### Packaging
|
||||||
|
|
||||||
|
- Fix missing modules in self-contained binaries (#2466)
|
||||||
|
|
||||||
## 21.8b0
|
## 21.8b0
|
||||||
|
|
||||||
### _Black_
|
### _Black_
|
||||||
|
Loading…
Reference in New Issue
Block a user