在 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 位版本),它运行所有其他内容(tox
、py.test
、mercurial
),即 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
当然,确切的路径取决于您安装解释器的位置。
我已经安装了 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 位版本),它运行所有其他内容(tox
、py.test
、mercurial
),即 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
当然,确切的路径取决于您安装解释器的位置。