setuptools在conda中降级以启用pyinstaller

时间:2017-01-31 09:09:42

标签: python python-3.x setuptools pyinstaller conda

我构建了一个脚本来获取mysql数据库中的数据,进行一些计算并输出一个csv / xls。我想把它变成一个可执行文件,供我那些技术不太好的同事使用。我选择pyinstaller来做到这一点。 我在 Windows 7 上使用 Anaconda ,在 python 3.5 中编码。

这是我的错误消息:

  Traceback (most recent call last):
  File "C:\Anaconda3\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py", line 11, in <module>
    import pkg_resources as res
  File "c:\anaconda3\envs\downsetuptool\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "site-packages\setuptools-27.2.0-py3.5.egg\pkg_resources\__init__.py", line 68, in <module>
  File "site-packages\setuptools-27.2.0-py3.5.egg\pkg_resources\extern\__init__.py", line 61, in load_module
ImportError: The 'appdirs' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.
Failed to execute script pyi_rth_pkgres

在线查看后,此ImportErrorappdirs包是一个已知问题并有解决方案。我发现我需要将setuptools包降级到19.2。 这就是我的尝试:

  • 使用setuptools 19.2创建了一个新的conda环境(我称之为downsetuptools)。结果:相同的错误(表示setuptools-27.2,而不是19.2,如上所述)
  • 在此环境中重新安装了pyinstaller。结果:相同的错误(表示setuptools-27.2,而不是19.2,如上所述)
  • root环境中将setuptools降级为19.2。结果:相同的错误(表示setuptools-27.2,而不是19.2,如上所述)
  • 使用pip(而非conda)卸载setuptools并使用版本19.2重新安装。结果:相同的错误(表示setuptools-27.2,而不是19.2,如上所述)
  • 我删除了整个setuptools-27.2文件夹以及我在Anaconda3文件夹下找到的所有zip文件。结果:相同的错误(表示setuptools-27.2,而不是19.2,如上所述)

问题的根源似乎是降级不起作用。我没有解决方案。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

以下解决方案有效: 删除pyinstaller并在downsetuptool环境中重新安装。

假设:必须在安装pyinstaller之前完成setuptools的降级。