【问题标题】:How to make pyinstaller not use anaconda and build a small-size exe file如何使 pyinstaller 不使用 anaconda 并构建小型 exe 文件
【发布时间】:2019-12-30 00:26:29
【问题描述】:

我一直在尝试在 Windows 10 中使用 pyinstaller 构建 .exe 文件。它有效,但 exe 文件的大小约为 212 MB,即使使用 venv(如here)。我想这可能是因为我正在使用 anaconda 的 python!

然后我安装了一个单独的 Python 版本,所以不要使用 anaconda!但它不起作用(仍然是大文件)。

然后我卸载了 anaconda 进行测试。 Pyinstaller 仍在尝试访问“C:\Program Files\anaconda3\python.exe”中的 Python(此错误:“C:\Program Files\anaconda3\python.exe”中没有 Python)。但是我已经删除了所有到 anaconda 的路径。可能它一直试图到达 anaconda,这就是为什么我没有成功构建一个小尺寸的 .exe 文件。

如何清楚地指明 pyinstaller 和 python 的路径?

【问题讨论】:

  • 您在项目中使用了哪些模块?例如,像 pandas 这样的一些模块依赖于大量的库,并且生成的 .exe 通常很大。至于您的问题:您在系统PATH中是否安装了单独的python?你确定你已经从 PATH 中删除了 Anaconda 吗?
  • 是的,我只需要 pandas……但你认为它应该达到 200 MB 吗?!似乎其他人已经达到了 30 MB 左右)是的。新的 python 位置在系统变量中。我也删除了所有 anaconda 路径。
  • 抱歉,这里帮不了你。将 pyinstaller 与任何使用 pandas 和/或 matplotlib 的脚本一起使用,我几乎没有成功。上次我尝试获得了 700+ Mb 文件,这是一个非常简单的脚本。但我认为这与 Anaconda 无关。 Anaconda 中的 Python 只是您的常规 Python,它只是带有许多用于数据科学的预安装包。
  • 我想可能是因为我使用的是 anaconda 的 python! 是什么让你这么认为?另外,我不确定我是否了解您的环境。你正在使用 Anaconda 和 venv?为什么不直接使用 Conda?
  • 谢谢。根据其他帖子,我发现它可能与 anaconda python 工作和构建文件的方式有关。我用过venv。我不知道康达。

标签: python anaconda conda pyinstaller


【解决方案1】:

最后,经过大量研究,可以解决我的问题:

  • 从我的电脑上卸载了所有的 python 和 anaconda
  • 从系统变量中删除了所有路径
  • 重新启动窗口
  • 从其网站安装了新的 Python
  • 使用 pip install pyinstaller 安装 Pyinstaller
  • 在 cmd 中测试了我的 .py 代码。它向我展示了所有丢失的包裹。
  • 使用 pip install name-of-package 安装了所有必需的包
  • 通过 pyinstaller -F -w --clean file.py 运行最终命令
  • (可选)根据需要安装 Anaconda(不要将 Anaconda Python 添加为默认 Python。也不要将其路径添加到系统变量中)。

注意:您可以在其中构建 virtualenv 并执行 pyinstaller。

我之前使用 anaconda 的尝试导致文件大小为 212 MB。这个过程生成了一个大小为 27 MB 的 .exe 文件(仅导入 pandas 模块)。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,发现 PyCharms virtualenv manager 很有帮助。 https://www.jetbrains.com/help/pycharm/creating-virtual-environment.html

    这只是需要从 python.org 下载 python 并将虚拟环境链接到这个解释器,而不是 conda 解释器(否则它会抛出奇怪的 SSL 错误)。

    这似乎允许 conda 和 virtualenv 巧妙地并行使用。

    【讨论】:

      猜你喜欢
      • 2013-11-08
      • 1970-01-01
      • 2019-03-20
      • 2014-01-19
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多