세 개의 스크립트가 있다고 가정 해 보겠습니다. Main.py (모든 가져 오기 가능), 1.py (임의의 스크립트), 2.py (임의의 스크립트).선택 위치에서 파이썬 모듈 가져 오기
pyinstaller -F --onedir Main.py (80mb)
pyinstaller -F --onedir 1.py (80mb)
pyinstaller -F --onedir 2.py (80mb)
이렇게하면 3 개의 폴더가 만들어집니다. 그런 다음 모든 종속성이있는 기본 폴더에 1.exe와 2.exe를 복사하면 정상적으로 실행됩니다.
두 가지 문제가 존재한다 :
문제는 크기입니다. 하나의 파일은이 크기를 30MB로 줄이고 한 폴더는 80MB로 유지합니다.
더 중요한 것은 exe에서 해당 폴더를 벗어날 수 없다는 것입니다. 나는 Python에서 단축키를 사용해야했다.
다음은 this이며, 이는 일시적인 해결책 일 것입니다.
제 질문은 Pyinstaller를 사용하여 선택한 위치에서 가져 오기를 읽으면 어떻게 실행 파일을 이동할 수 있습니까?
논리 : 컴파일 Main.py pyinstaller -F –onefile Main.py (15mb).
가 C:\13
에서 C:\13\Main.exe
링크 모든 exe 인의 같은 C:\13\
너무 EXE 외모에 폴더를 만들고 사용하고 계십니까? --runtime-tmpdir PATH
exe 또는 "one dir"
폴더에서 가져 오기에 대한 문서를 찾는 데 어려움을 겪고 있습니다. 도착지에서 수입을 얻는 데는 많은 것이 있지만 선택 위치에서 수입을 얻는 데 그다지 도움이되지 않으므로 어디서나 exe를 실행할 수 있습니다. 게다가 pyinstaller에서 모듈을 디 컴파일하는 것이 부족하다는 것을 혼란에 더하는 것이 어렵습니다. 아마도
pyinstaller -F --runtime-tmpdir C:\13 --onefile 2.py
pyinstaller -F --runtime-tmpdir C:\13 --onedir 3.py
어떤 디렉토리가 만들어집니다 나를 위해 비록. 선택한 위치에서 가져 오기를 가져 오는 방법은 무엇입니까?
또 다른 solution 수 :
pyinstaller의 설명서에는 https://pyinstaller.readthedocs.io/en/stable/spec-files.html#multipackage-bundles –
@FlorentB와 같은 종속성을 공유하는 여러 exe를 패키지하는 방법에 대한 자세한 장이 있습니다. "이 기능은 PyInstaller 3.0 릴리스에서 작동하지 않습니다." –