当前位置:首页 > 操作系统 > MacOs

python-如何在Travis CI上构建MacOSX可执行文件?

我有一个仅依赖于wxPython的小型python程序.我在Linux上进行了开发,并设法在Travis CI(github上的seguid_calculator)上使用wine设置了Windows可执行文件的自动构建.

我的解决方案涉及最新的wine发行版和Pyinstaller.

我想为MacOS做类似的事情.我知道Travis上也有一个MacOSX构建环境.我对MacOSX操作系统零经验,但我没有Mac.我了解您可以使用“自制”软件安装第三方软件包

有一个我想做的例子吗? travis.yml文件示例非常棒!

感谢您的输入,
/比约恩

*编辑*

我创建了一个示例wxpython应用程序,它仅打开一个窗口.它位于https://github.com/BjornFJohansson/macapp.
我使用下面的.travis.yml生成不起作用的可执行文件.

<code>os:
- osx
language: objective-c
python:
- '2.7'
before_install:
- brew update
- brew outdated xctool || brew upgrade xctool
- brew install python
- brew install wxpython
- pip install pyinstaller
- pyinstaller --noconsole --onefile hw.py
- ls
- ls dist/
- hdiutil create dist/hw.dmg -srcfolder dist/ -ov
install: true
deploy:
  skip_cleanup: true
  provider: releases
  api_key:
    secure: VK1oVWQCRomgcFNVua00B3YSsotezzU1p6/fh73/0vwQFzVMolVnAsnfSq6EAwIcJvakU0TI9pqZR+0S3PKnUs+Kn3Ar8OwQ88t2azZNwewBfKua3tM2/7BF4y7O0gOtN1F29Yxyu0zPInIVY17BqGygibQ1kthBTm+tj3YyNW8=
  file: 
    - "dist/hw"
    - "dist/hw.dmg"
  on:
    tags: true
    all_branches: true
    repo: BjornFJohansson/macapp
</code>

基本上,首先我更新xtools(我已经看到很多这样做的事情,所以我决定也这样做).然后我冲泡安装python和wxpython.然后我点安装pyinstaller.我使用pyinstaller命令,该命令在./dist下生成一个可执行文件(hw)和一个“ hw.app”文件夹.

我没有设法部署.app文件夹,所以我使用hdiutil制作了.dmg.
然后,我部署到github版本.

有人可以告诉我此设置可能有什么问题吗?

travis日志可以在这里找到:https://travis-ci.org/BjornFJohansson/macapp

解决方法:

不能通过自制软件安装的wxPython版本不是32位的原因.您需要从wxPython主页安装dmg.我找到了一个可以在那做的脚本:https://github.com/ayufan/travis-osx-vm-templates/blob/master/scripts/packages.sh

我分叉了您的示例并设法使其运行(https://github.com/paulmueller/macapp/releases).

.travis.yml现在看起来像这样:

<code>language: objective-c
python:
- '2.7'
before_install:
- which python
- brew install python --universal --framework
- brew install wget
- which python
- export VERSIONER_PYTHON_PREFER_32_BIT=yes
- defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
- which python
- python --version
# https://github.com/Homebrew/homebrew/issues/34470
#- arch -i386 brew install wxpython --universal
- mkdir dl
- cd dl
- wget http://downloads.sourceforge.net/wxpython/wxPython3.0-osx-3.0.2.0-cocoa-py2.7.dmg
- ls
- cd ..
- sudo ./packages.sh
- arch -i386 python -c "import wx; print wx.__version__"
- arch -i386 pip install pyinstaller
- arch -i386 pyinstaller --noconsole --onefile hw.py
- ls
- hdiutil create dist/hw.dmg -srcfolder dist/ -ov
- zip -r dist/hw.zip dist/hw.app
- ls dist/
install: true
deploy:
  provider: releases
  skip_cleanup: true
  api_key:
    secure: KjdN4hSHWU3ZDg6lpDNMB2we9jLayM9C8pwyQrV/Xzq8HNH5eNHP8ScI64tvnS0yJegOXnHFwUhUrkMtEs3X29TKrom+8tJ5E52IdBO7xO8fqOfeugC2239vLzc3tNI6RJX/K7CZTsSRu5U++1RJVgcWYjrCln87DuXG+HZRdOI=
  file: 
    - "dist/hw.dmg"
    - "dist/hw.zip"
  on:
    tags: true
    all_branches: true
    repo: paulmueller/macapp
</code>

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐