我已经尝试了几个小时来弄清楚如何通过pyinstaller的文档来做到这一点,但我没有运气.
我有一个单独的.py文件,我需要将它制作成Windows 7中的.exe文件可执行文件,以及OS X Lion中的.app(或者任何可用的)可执行文件.问题是我什么时候使用
<code>python pyinstaller.py my_code.py </code>
它编译成Linux可执行文件.
解决方法:
Pyinstaller不为跨平台目标构建可执行文件,仅针对Pyinstaller“本机”运行的平台.但是,WINE允许在Linux下运行本机Windows Pyinstaller,因此它可以用于将仅在Linux上开发的Python脚本构建为仅使用单个Linux主机的本机Windows .exe可执行文件 – 无需单独的Windows主机.这些说明不针对Mac.
>我在64位奔腾型上使用Ubuntu 15.10.
<code>$uname -op x86_64 GNU/Linux $grep DISTRIB_DESCRIPTION /etc/lsb-release DISTRIB_DESCRIPTION="Ubuntu 15.10" </code>
>确保已安装Python.
<code>$apt-get install python2.7 [installed OK] $python --version Python 2.7.10 </code>
>(升级和)使用Python包管理器来安装和
可能在Linux上升级Pyinstaller.没有超级用户的运行点
特权可能会失败.
<code>$sudo -H pip install --upgrade pip [upgraded OK] $sudo -H pip install PyInstaller [installed OK] $sudo -H pip install --upgrade pyinstaller [installed OK] $pyinstaller --version 3.0 </code>
>您可以安装Python / Pyinstaller,安装/配置WINE并编写
任何顺序的Python代码(虽然运行代码需要Python
安装).使用Python包管理器安装Python
包含在Python项目中的包.
<code>$pip install package1 [package2, ...] [packages installed OK] </code>
>测试打包针对Linux的可执行文件.
<code>$cd python-project $pyinstaller --onefile python-project.py [built OK] $dist/python-project [ran OK] </code>
如果它没有构建或运行正常,请尝试将其构建为–onedir,the
Pyinstaller默认,不包括下载文件
单可执行文件这不应该建立/运行任何不同于
onefile版本,但它可以更容易调试onedir
然后应该建立OK作为onefile.
>确保已安装WINE并将其配置为使用您选择的
目标Windows版本(例如Windows 7):
<code>$wine --version wine-1.7.50 $winecfg [GUI: Applications tab > Windows Version: Windows 7] </code>
>使用WINE安装Windows Python,pywin32(Windows GUI
扩展);匹配他们的版本.你应该去每个人
安装程序的下载页面,适用于正确的版本和镜像
比这些当前的直接下载链接.请注意运行WINE
将大量WINE错误通知转储到控制台;这些是
几乎在这个程序中都可以忽略不计.
<code>$mkdir -p /opt/windows $pushd /opt/windows $wget https://www.python.org/ftp/python/2.7.10/python-2.7.10.amd64.msi $wget http://iweb.dl.sourceforge.net/project/pywin32/pywin32/Build%20219/pywin32-219.win-amd64-py2.7.exe $wine msiexec -i python-2.7.10.amd64.msi $wine msiexec -i pywin32-219.win-amd64-py2.7.exe $popd </code>
我遇到了Python 2.7.10 MSI向导无法“下一步”的问题
选择安装目录后,我在那里取消了
再次运行它添加了禁止GUI的-qn选项.它
抱怨了一点,但它完成了安装.如果你需要
默认情况下,在Linux文件系统中查找Windows Python
安装在Linux用户的默认WINE“C:”目录中
主目录,即. ?/ .wine / drive_c / Python27.
<code>$wine C:/Python27/python --version Python 2.7.10 $find ~/.wine/drive_c -name python.exe ~/.wine/drive_c/Python27/python.exe </code>
>使用WINE Python / pip升级Windows pip并安装Pyinstaller.
<code>$wine C:/Python27/Scripts/pip.exe install --upgrade pip [upgraded OK] $wine C:/Python27/Scripts/pip.exe --version pip 7.1.2 from C:Python27libsite-packages (python 2.7) $wine C:/Python27/Scripts/pip.exe install pyinstaller [installed OK] $wine c:/Python27/python.exe C:/Python27/Scripts/pyinstaller-script.py --version 3.0 </code>
>使用Windows pip安装项目的下垂包
<code>$wine C:/Python27/Scripts/pip.exe install xlwt [installed OK] </code>
>现在配置了Windows(WINE)Python环境
等效于您的Linux本机环境.运行Windows
WINE下的Pyinstaller生成本机Windows .exe可执行文件.
使用Windows Pyinstaller的Windows Python脚本版本
与您测试的OK Linux Pyinstaller程序保持一致,
对你的Linux文件系统中的python项目(它没有
需要复制到WINE Windows文件系统).保持
Windows build和dist目录与测试的OK分开
Linux可以帮助调试打包程序.
<code> $wine c:/Python27/python.exe C:/Python27/Scripts/pyinstaller-script.py --onefile --workpath=./win-wrk --distpath=/opt/windows python-project.py [packaged OK] $ls -F /opt/windows/python-project.exe python-project.exe* $wine /opt/windows/python-project.exe [Windows app runs OK] </code>
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!