如何为 PyInstaller 可执行文件指定 Python 版本和库版本



使用 PyInstaller 创建可执行文件时,如何捆绑特定版本的特定 Python 解释器和某些库?

我想从我的.py脚本创建一个可执行文件。我的__main__.py从网站下载一些数据并转换它们,然后将它们作为 excel 文件保存在文件夹中。

以下是要求。

  1. 使用 Python 3.6

为此,我找到了一些相关的帖子,但对我来说永远不清楚。我的.py需要 Python3.6 才能执行,而这个.exe文件的用户不一定有 Python3.6,所以我也想把这个 Python 捆绑在.exe文件中。但是,仅仅一个命令真的足够python3 -m pyinstaller __main__.py吗?我没有信心,我想知道我到底需要做什么。

  1. 使用特定版本的库,如 pandas==0.23、beautifulsoup4==4.9.1 等。

我想我需要在.spec文件中使用pure,因为文档说"纯:脚本所需的纯 python 模块"。但是我找不到任何关于我需要做什么的文档,使其包括熊猫==0.23、美汤4==4.9.1等。

任何帮助将不胜感激!

我使用虚拟环境来做到这一点:如果你有一个具有所需 Python 版本和包版本的环境,你可以pip在那里安装 PyInstaller 并从该环境构建.EXE。

Conda 版本将是:

  1. 创建环境:
conda create --name my_env_name python=3.6
  1. 激活它:
conda activate my_env_name
  1. 安装您想要的软件包版本和 PyInstaller:
pip install pandas==0.23
pip install beautifulsoup4==4.9.1
pip install pyinstaller
# or to get the developer version, which fixes some issues I have run into
# pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip
  1. 然后构建你的 EXE:
python pyinstaller myscript.py

拥有这个虚拟环境也可以很好地控制编写/测试你的程序,因为它确保不需要其他依赖项。 因此,我倾向于只将脚本所需的包安装到环境中。

但是,如果您没有蟒蛇,我不确定如何用venv做到这一点。 但也许这仍然会为你指明一个方向(或者其他人可以详细说明?另请参阅这篇文章)。

最新更新