【问题标题】:How to specify Python version and library versions for PyInstaller executable如何为 PyInstaller 可执行文件指定 Python 版本和库版本
【发布时间】:2020-08-19 20:58:59
【问题描述】:

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

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

这里有一些要求。

  1. 使用 Python 3.6

为此,我找到了some related posts,但我一直不清楚。我的ma​​in.py需要Python3.6才能执行,而这个.exe文件的用户不一定有Python3.6,所以我也想把这个Python捆绑到.exe文件中.但仅仅一个命令python3 -m pyinstaller __main__.py 真的就够了吗?我没有信心,我想知道我到底需要做什么。

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

我认为我需要在.spec 文件中使用pure,因为the documentation 表示“纯:脚本所需的纯python 模块”。但我找不到任何关于我需要做什么的文档,包括 pandas==0.23、beautifulsoup4==4.9.1 等。

任何帮助将不胜感激!

【问题讨论】:

    标签: python pyinstaller executable libraries interpreter


    【解决方案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
    

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

    但是,如果您没有 Anaconda,我不确定如何使用 venv 执行此操作。但也许这仍然会为您指明一个方向(或者其他人可以详细说明?另请参阅this post)。

    【讨论】:

    • 我有 anaconda,所以它帮了我很多。谢谢你的回答。
    猜你喜欢
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 2014-05-30
    • 2012-02-21
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    相关资源
    最近更新 更多