我在 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 提供的所有模块?
也试试 pyinstaller。它会给你一个可执行文件和设置,比如图标或无控制台。首先转到
.py
文件所在的目录并运行以下命令:
pyinstaller script.py --onefile
在此之前,您需要安装该 python 模块:
python* -m pip install pyinstaller
如果安装了多个,
*
是您的特定 python 版本。
第一个命令会给你 dist
文件夹,这里是你的可执行文件所在的地方。 script.spec
文件是您的设置。