diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 34cc6f6..92b856a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -50,12 +50,13 @@ jobs: run: | pyinstaller \ --onefile Movie_Data_Capture.py \ - --collect-submodules "ImageProcessing" \ - --collect-data "face_recognition_models" \ - --collect-data "cloudscraper" \ - --collect-data "opencc" \ + --python-option u \ + --hidden-import "ImageProcessing.cnn" \ + --add-data "$(python -c 'import cloudscraper as _; print(_.__path__[0])' | tail -n 1):cloudscraper" \ + --add-data "$(python -c 'import opencc as _; print(_.__path__[0])' | tail -n 1):opencc" \ + --add-data "$(python -c 'import face_recognition_models as _; print(_.__path__[0])' | tail -n 1):face_recognition_models" \ --add-data "Img:Img" \ - --add-data "scrapinglib:scrapinglib" \ + --add-data "scrapinglib:scrapinglib" ` --add-data "config.ini:." \ - name: Build with PyInstaller for windows @@ -63,12 +64,13 @@ jobs: run: | pyinstaller ` --onefile Movie_Data_Capture.py ` - --collect-submodules "ImageProcessing" ` - --collect-data "face_recognition_models" ` - --collect-data "cloudscraper" ` - --collect-data "opencc" ` + --python-option u ` + --hidden-import "ImageProcessing.cnn" ` + --add-data "$(python -c 'import cloudscraper as _; print(_.__path__[0])' | tail -n 1);cloudscraper" ` + --add-data "$(python -c 'import opencc as _; print(_.__path__[0])' | tail -n 1);opencc" ` + --add-data "$(python -c 'import face_recognition_models as _; print(_.__path__[0])' | tail -n 1);face_recognition_models" ` --add-data "Img;Img" ` - --add-data "scrapinglib;scrapinglib" ` + --add-data "scrapinglib:scrapinglib" ` --add-data "config.ini;." ` - name: Copy config.ini diff --git a/py_to_exe.ps1 b/py_to_exe.ps1 index 8f4b266..14d3284 100644 --- a/py_to_exe.ps1 +++ b/py_to_exe.ps1 @@ -1,25 +1,26 @@ # If you can't run this script, please execute the following command in PowerShell. # Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force -# bugfix:set submodules find path -$Env:PYTHONPATH=$pwd.path -$PYTHONPATH=$pwd.path +$CLOUDSCRAPER_PATH = $( python -c 'import cloudscraper as _; print(_.__path__[0])' | select -Last 1 ) +$OPENCC_PATH = $( python -c 'import opencc as _; print(_.__path__[0])' | select -Last 1 ) +$FACE_RECOGNITION_MODELS = $( python -c 'import face_recognition_models as _; print(_.__path__[0])' | select -Last 1 ) + mkdir build mkdir __pycache__ -pyinstaller --collect-submodules "ImageProcessing" ` - --collect-data "face_recognition_models" ` - --collect-data "cloudscraper" ` - --collect-data "opencc" ` +pyinstaller --onefile Movie_Data_Capture.py ` + --hidden-import "ImageProcessing.cnn" ` + --python-option u ` + --add-data "$FACE_RECOGNITION_MODELS;face_recognition_models" ` + --add-data "$CLOUDSCRAPER_PATH;cloudscraper" ` + --add-data "$OPENCC_PATH;opencc" ` --add-data "Img;Img" ` --add-data "config.ini;." ` --add-data "scrapinglib;scrapinglib" ` - --onefile Movie_Data_Capture.py - rmdir -Recurse -Force build rmdir -Recurse -Force __pycache__ rmdir -Recurse -Force Movie_Data_Capture.spec echo "[Make]Finish" -pause +pause \ No newline at end of file