PyInstaller 和本地包的问题
Problem with PyInstaller and local packages
我的项目结构如下:
example3/
window/
__init__.py
- ...
__init__.py
__main__.py
setup.py
example.py
在主文件中:
import sys
from PySide2.QtWidgets import QApplication
import window
def main():
app = QApplication(sys.argv)
main_window = window.Main()
main_window.show()
app.exec_()
if __name__ == '__main__':
main()
PyInstaller 的构建脚本 example.py:
from example3.__main__ import main
if __name__ == '__main__':
main()
如何让 PyInstaller 识别我的项目包或其中的模块? PyInstaller 只能看到使用 pip 安装的包。我已经阅读了一些有关挂钩文件的内容,但并没有真正理解如何去做。
我使用以下命令创建了可执行文件:
> pyinstaller example.py --onefile
当我尝试 运行 应用程序时,我收到错误消息:
> ./dist/example
Traceback (most recent call last):
File "example.py", line 3, in <module>
File "PyInstaller/loader/pyimod03_importers.py", line 495, in exec_module
File "example3/__main__.py", line 7, in <module>
File "/tmp/embedded.xpuoquuw.zip/shibokensupport/__feature__.py", line 146, in _import
ModuleNotFoundError: No module named 'window'
[127129] Failed to execute script 'example' due to unhandled exception!
可以通过告诉 PyInstaller 我项目的模块和包的搜索路径来解决问题:
pyinstaller --onefile example.py --paths ./example3/
我的项目结构如下:
example3/
window/
__init__.py
- ...
__init__.py
__main__.py
setup.py
example.py
在主文件中:
import sys
from PySide2.QtWidgets import QApplication
import window
def main():
app = QApplication(sys.argv)
main_window = window.Main()
main_window.show()
app.exec_()
if __name__ == '__main__':
main()
PyInstaller 的构建脚本 example.py:
from example3.__main__ import main
if __name__ == '__main__':
main()
如何让 PyInstaller 识别我的项目包或其中的模块? PyInstaller 只能看到使用 pip 安装的包。我已经阅读了一些有关挂钩文件的内容,但并没有真正理解如何去做。
我使用以下命令创建了可执行文件:
> pyinstaller example.py --onefile
当我尝试 运行 应用程序时,我收到错误消息:
> ./dist/example
Traceback (most recent call last):
File "example.py", line 3, in <module>
File "PyInstaller/loader/pyimod03_importers.py", line 495, in exec_module
File "example3/__main__.py", line 7, in <module>
File "/tmp/embedded.xpuoquuw.zip/shibokensupport/__feature__.py", line 146, in _import
ModuleNotFoundError: No module named 'window'
[127129] Failed to execute script 'example' due to unhandled exception!
可以通过告诉 PyInstaller 我项目的模块和包的搜索路径来解决问题:
pyinstaller --onefile example.py --paths ./example3/