【问题标题】:How to make Python script developed in Spyder IDE executable如何使在 Spyder IDE 中开发的 Python 脚本可执行
【发布时间】:2020-06-16 04:06:31
【问题描述】:

我在 Spyder IDE 中编写了一个脚本,但为了让客户使用它,我想让它更容易运行,然后打开 Anaconda,然后打开 Spyder 并从那里运行它。

我使用 Spyder 的原因是因为它允许我使用许多在公司工作站上不允许使用的模块。

我进行了很多研究,但找不到这样做的方法。

我正在考虑将脚本封装在一个批处理文件中并运行它。我尝试更新 python 脚本以在 Anaconda 默认目录中查找模块:

sys.path.insert(1, C:\\ProgramData\\Anaconda3\\python37.zip)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\DLLs)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib)
sys.path.insert(1, C:\\ProgramData\\Anaconda3)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages\\IPython\\extensions)

在 Windows cmd 中运行脚本时,我在导入 pandas 模块时遇到了这些错误,因此使用 Spyder 比仅访问这些模块还有更多(我不知道是什么):

Traceback (most recent call last):
  File "script.py", line 32, in <module>
    import pandas as pd
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\__init__.py", line 13, in <module>
    __import__(dependency)
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\__init__.py", line 110, in <module>
    import warnings
  File "C:\ProgramData\Anaconda3\lib\warnings.py", line 494
    f"coroutine '{coro.__qualname__}' was never awaited\n"

我尝试的另一种方法是使用 pyinstaller,但这对我们不可用,我无法从网站安装它。

有没有办法在不通过 Spyder 的情况下运行 python 脚本并使用 Anaconda 提供的所有模块?

【问题讨论】:

    标签: python python-3.x anaconda spyder executable


    【解决方案1】:

    你试过py2exe吗?这是一个很棒的工具,可以完全满足您的要求。

    还可以查看cython。从 C 代码生成可执行文件要容易得多,而且性能也会得到提升。

    【讨论】:

      【解决方案2】:

      也可以试试pyinstaller。它会给你一个可执行文件和设置,比如图标或无控制台。首先转到您的.py 文件所在的目录并运行以下命令:

      pyinstaller script.py --onefile
      

      在此之前,您需要安装该 python 模块:

      python* -m pip install pyinstaller
      

      如果您安装了多个,* 是您的特定 python 版本。 第一个命令将为您提供dist 文件夹,这是您的可执行文件所在的位置。 script.spec 文件是您的设置。

      【讨论】:

        猜你喜欢
        • 2018-03-16
        • 2016-10-22
        • 1970-01-01
        • 2020-10-27
        • 2013-09-01
        • 2015-02-14
        • 2023-03-07
        • 1970-01-01
        相关资源
        最近更新 更多