如何让在Spyder IDE中开发的Python脚本可执行

问题描述 投票:0回答:2

我在 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
2个回答
0
投票

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

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


0
投票

也试试 pyinstaller。它会给你一个可执行文件和设置,比如图标或无控制台。首先转到

.py
文件所在的目录并运行以下命令:

pyinstaller script.py --onefile

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

python* -m pip install pyinstaller

如果安装了多个,

*
是您的特定 python 版本。 第一个命令会给你
dist
文件夹,这里是你的可执行文件所在的地方。
script.spec
文件是您的设置。

© www.soinside.com 2019 - 2024. All rights reserved.