首页 > 解决方案 > 我在 python 中遇到 Pyinstaller 的问题

问题描述

我有一个问题,如果我使用 Pyinstaller 将 python 文件转换为 exe 是否会转换模块?,因为我有很多模块的python文件,我想将它转换为我可以做到的,并避免这个问题,谢谢你。

    import requests

错误:

    ImportError: No module named requests

.

标签: pythonpyinstallerexe

解决方案


在评论中讨论之后,当您尝试在另一台计算机上打开生成的文件时,基本上会发生错误,但是您没有使用任何虚拟环境,因此您可以安装要求并尝试再次重建,但您想要一个独立的 exe 文件。

对于那个用途:

   pyinstaller --onefile your-script.py 


   # or pyinstaller -F your-script.py 
   
   ## this should generate a stand alone executable file located in the dist folder.

关于您对 pyinstaller 工作方式的担忧

pyinstaller 在构建时是否会复制模块?

答案很简单:是的,正如这里的文档中提到的那样,PyInstaller 会读取您编写的 Python 脚本。它分析您的代码以发现脚本执行所需的所有其他模块和库。然后它收集所有这些文件的副本——包括活动的 Python 解释器!– 并将它们与您的脚本放在一个文件夹中,或者可选地放在一个可执行文件中。

但是,Python 和第三方库的变化是无穷无尽且不可预测的,如果出现问题,您可以通过阅读此处文档上的此页面来了解如何解决这些问题

生成什么?

你可以在这里阅读更多

  1. 创建一个包含可执行文件的单文件夹包(默认),-D, --onedir

  2. 创建一个单一文件捆绑的可执行文件。你需要使用-F ore --onefile

最后

我强烈建议您为每个项目使用单独的虚拟环境。


推荐阅读