繁体   English   中英

绘图错误,Python 3.6出现cx_freeze错误

[英]cx_freeze error with plotly, Python 3.6

我在使用Anaconda 3,plotly和cx_freeze生成可执行文件时遇到问题。 也许你们可以启发我的思想。 我可以生成.exe,但是当我运行它时,我得到了:

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-            
packages\cx_Freeze\initscripts\__startup__.py", line 14, in run
    module.run()
  File "C:\ProgramData\Anaconda3\lib\site-
packages\cx_Freeze\initscripts\Console.py", line 26, in run
    exec(code, m.__dict__)
  File "main.py", line 15, in <module>
  File "C:\Users\a\Documents\b\c\plot_3d.py", line 
1, in <module>
    import plotly as py
  File "C:\ProgramData\Anaconda3\lib\site-packages\plotly\__init__.py", line 
31, in <module>
    from plotly import (plotly, dashboard_objs, graph_objs, grid_objs, 
tools,
  File "C:\ProgramData\Anaconda3\lib\site-
packages\plotly\graph_objs\__init__.py", line 14, in <module>
    from plotly.graph_objs.graph_objs import *  # this is protected with 
__all__
  File "C:\ProgramData\Anaconda3\lib\site-
packages\plotly\graph_objs\graph_objs.py", line 34, in <module>
    from plotly import exceptions, graph_reference
  File "C:\ProgramData\Anaconda3\lib\site-
packages\plotly\graph_reference.py", line 9, in <module>
    from pkg_resources import resource_string
ModuleNotFoundError: No module named 'pkg_resources'

看来我在积蓄方面有问题。 搜索了一段时间后,我仍然找不到解决方案。 这是我的setup.py:

import sys

kwargs = {"name": "x",
          "version": "1.2",
          "author": "x",
          "author_email": "x",
          "description": "x",
          "zip_safe": False
          }

try:
    if sys.argv[1] == "build":
        import os
        from setuptools import find_packages
        from cx_Freeze import setup, Executable

        os.environ["TCL_LIBRARY"] = r"C:\\ProgramData\\Anaconda3\\tcl\\tcl8.6"
        os.environ["TK_LIBRARY"] = r"C:\\ProgramData\\Anaconda3\\tcl\\tk8.6"

        kwargs["options"] = {
            "build_exe": {
                "packages": find_packages() + ["os", "numpy", "plotly"],
                "includes": ["numpy", "plotly"],
        }
    }
    kwargs["executables"] = [Executable(r"main.py", base="console")]

    setup(**kwargs)
except Exception as e:
    print(e)

我尝试过此解决方案没有成功 ,有什么建议吗? 谢谢。

解决方案是将每个包都包含在以下内容中:

"includes": ["numpy", "plotly", "pkg_resources", "appdirs", "packaging.specifiers", "packaging.requirements"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM