Python转exe:py2exe与pkg_resources的问题

2 投票
2 回答
1339 浏览
提问于 2025-04-18 14:39

我用Python做了一个应用程序,想把它分发给我的公司,但不幸的是,不能在每台机器上都安装Python。我想把这个应用程序转换成一个.exe文件,这样用户就可以在桌面上用快捷方式运行我的应用。

这是我第一次尝试分发,所以请原谅我对这个话题了解得不多。我在用py2exe把我的.py脚本转换成.exe时遇到了问题。

我的setup.py脚本是这样的:

from distutils.core import setup
import py2exe
import numpy
import matplotlib

setup(console=['inpho.py'],
      data_files=matplotlib.get_py2exe_datafiles()
      )

当我运行 python setup.py py2exe 后,我得到了预期的 distbuild 文件夹。但是,当我运行现在叫做 InPho.exe 的应用程序时,会弹出一个命令行窗口,然后我立刻就收到一个错误:ImportError: No module named pkg_resources

我首先想到的是我的setup.py脚本可能写错了,但我不知道该怎么正确写。在我的inpho.py脚本中,我导入了以下内容:

  • pandas
  • Tkinter
  • pyodbc
  • sqlalchemy
  • sqlite3
  • datetime
  • tkMessageBox
  • os
  • shutil

非常感谢任何帮助!

2 个回答

0

我在使用py2exe的时候遇到了一些类似的问题。我通过把setuptools降级到19.2版本解决了这些问题。

你可以在这里查看更多关于这个setuptools问题的信息:https://github.com/pyinstaller/pyinstaller/issues/1781

1

Py2exe 可能在一开始就不能处理某些依赖关系。你可以参考 py2exe 教程中的建议,看看如何解决导入错误。具体内容可以查看这个链接:处理导入错误

撰写回答