Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python setuptools在conda中降级以启用pyinstaller_Python_Python 3.x_Setuptools_Pyinstaller_Conda - Fatal编程技术网

Python setuptools在conda中降级以启用pyinstaller

Python setuptools在conda中降级以启用pyinstaller,python,python-3.x,setuptools,pyinstaller,conda,Python,Python 3.x,Setuptools,Pyinstaller,Conda,我构建了一个脚本来获取mysql数据库中的数据,进行一些计算并输出一个csv/xls。我想让它成为一个可执行文件,供技术水平较低的同事使用。我选择了pyinstaller这样做。 我在Windows7上使用Anaconda,并在Python3.5中编码 这是我的错误消息: Traceback (most recent call last): File "C:\Anaconda3\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_pk

我构建了一个脚本来获取mysql数据库中的数据,进行一些计算并输出一个csv/xls。我想让它成为一个可执行文件,供技术水平较低的同事使用。我选择了
pyinstaller
这样做。 我在Windows7上使用Anaconda,并在Python3.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
回溯(最近一次呼叫最后一次):
文件“C:\Anaconda3\lib\site packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py”,第11行,在
将pkg_资源作为资源导入
文件“c:\anaconda3\envs\downsetuptol\lib\site packages\PyInstaller\loader\pyimod03\u importers.py”,第389行,在加载模块中
exec(字节码、模块、指令)
文件“site packages\setuptools-27.2.0-py3.5.egg\pkg_resources\\ uu_init__.py”,第68行,在
文件“站点包\setuptools-27.2.0-py3.5.egg\pkg_resources\extern\\uuuuu init_uuuu.py”,第61行,在加载模块中
ImportError:需要“appdirs”包;通常情况下,这与此软件包捆绑在一起,因此如果您收到此警告,请咨询您的发行版的包装商。
无法执行脚本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并在DownsetUptol环境中重新安装

假设:必须在安装pyinstaller之前对setuptools进行降级