setuptools 在 conda 中降级以启用 pyinstaller
setuptools downgrading in conda to enable pyinstaller
我构建了一个脚本来获取 mysql 数据库中的数据,进行一些计算并输出 csv/xls。我想让它成为一个可执行文件,供我不太懂技术的同事使用。我选择 pyinstaller
这样做。
我在 Windows 7 上使用 Anaconda 并在 python 3.5[=36= 中编码].
这是我的错误信息:
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
网上查了一下,appdirs
包的这个ImportError
是已知问题,有解决办法。我发现我需要将 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,如上)
问题的根源似乎是降级不起作用。我没有解决方案。有什么想法吗?
以下解决方案有效:
删除 pyinstaller 并在 downsetuptool 环境中重新安装。
假设:setuptools的降级必须在安装pyinstaller之前完成。
我构建了一个脚本来获取 mysql 数据库中的数据,进行一些计算并输出 csv/xls。我想让它成为一个可执行文件,供我不太懂技术的同事使用。我选择 pyinstaller
这样做。
我在 Windows 7 上使用 Anaconda 并在 python 3.5[=36= 中编码].
这是我的错误信息:
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
网上查了一下,appdirs
包的这个ImportError
是已知问题,有解决办法。我发现我需要将 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,如上)
问题的根源似乎是降级不起作用。我没有解决方案。有什么想法吗?
以下解决方案有效: 删除 pyinstaller 并在 downsetuptool 环境中重新安装。
假设:setuptools的降级必须在安装pyinstaller之前完成。