在 PyInstaller 下生成 x32 和 x64 两个版本

Produce both versions x32 and x64 under PyInstaller

我已经安装了 Python 2.7.xx x64 并尝试使用 PyInstaller 构建可执行文件。

我是否有机会使用我现有的 Python x64 构建 x32 和 x64 工件?

app.spec 文件中显示的当前 PyInstaller 脚本:

pyinstaller src/app.spec

# -*- mode: python -*-
import os
import platform

from PySide import QtCore


onefile = False
console = False

platform_name = platform.system().lower()
app_name = {'linux': 'app',
            'darwin': 'app',
            'windows': 'app.exe'}[platform_name]

# Include imageformats plugins
plugins=os.path.join(os.path.dirname(QtCore.__file__), "plugins\imageformats")
static_files = Tree(plugins, 'plugins\imageformats')
static_files += [('app.ico', 'src\app.ico', 'DATA')]

# Analyze sources
a = Analysis(['src\app.py'],
             hiddenimports=['pkg_resources'],
             hookspath=None,
             runtime_hooks=None)

pyz = PYZ(a.pure)

if onefile:
    exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, name=app_name,
        debug=False, strip=None, upx=True, console=console, icon='src/app.ico', version='src/app.ver')
else:
    exe = EXE(pyz, a.scripts, exclude_binaries=True, name=app_name, debug=False,
        strip=None, upx=True, console=console, icon='src/app.ico', version='src/app.ver')
    coll = COLLECT(exe, a.binaries, static_files, a.zipfiles, a.datas, strip=None, upx=True, name='app')

不,那行不通。您应该做的是同时安装 32 位 python 并创建 "other" 安装程序,以此开始创建过程。

可以在同一台机器上同时安装同一 Python major.minor 版本的 32 位和 64 位版本。我有一个带有 32 64 位版本的 2.7/2.6/3.3/3.4 用于开发的虚拟机。 我的 PATH 中只有一个 python(2.7 的 64 位版本),它运行所有其他内容(toxpy.testmercurial),即 Python 基于。我指定完整路径(如 C:\python.7-32\python.exe 使用 32 位版本)。我为 ruamel.yaml 生成 .whl 文件的批处理文件是:

c:\python.7\python.exe setup.py bdist_wheel
c:\python.6\python.exe setup.py bdist_wheel
c:\python.7-32\python.exe setup.py bdist_wheel
c:\python.6-32\python.exe setup.py bdist_wheel
c:\python.4\python.exe setup.py bdist_wheel
c:\python.3\python.exe setup.py bdist_wheel
c:\python.4-32\python.exe setup.py bdist_wheel
c:\python.3-32\python.exe setup.py bdist_wheel
c:\pypy2.5\pypy-2.5.1-win32\pypy.exe setup.py bdist_wheel

当然,确切的路径取决于您安装解释器的位置。