【发布时间】:2020-03-30 14:53:59
【问题描述】:
我为 Python 包设置了两个管道。一个用于 Windows,另一个用于 Linux。 Windows 的一个按预期工作。但是,如果我将 Linux 可执行文件复制到 Raspberry,它将无法运行。如果我双击它,什么都不会发生,如果我使用终端执行它,我会被拒绝。如果我在我的 Raspberry 上本地构建 Python 包,一切都会按预期工作。
所以基本上我的问题是,我是否需要专门针对 Linux ARM 来让我的 Python 应用程序在我的 Raspberry 上运行?如果是这样,我怎样才能做到这一点?在创建 Pipeline 时,我只能在 x86 和 x64 架构之间进行选择:
repo 可以在here找到。
这是我用于构建和发布的管道:
trigger:
- master
jobs:
- job: 'Raspberry'
pool:
name: arm32 # Already tried to use a self-hosted build agent, but didn't get it to work
variables:
python.version: '3.7'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
- script: |
cd AzurePipelinesWithPython
python -m pip install --upgrade pip
displayName: 'Install dependencies'
- script: pip install pyinstaller
name: 'pyinstaller'
- script: cd AzurePipelinesWithPython && pyinstaller --onefile --noconfirm --clean test.py
name: 'build'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: './AzurePipelinesWithPython/dist/'
artifactName: 'AzurePipelinesWithPython-raspi-$(python.version)'
很抱歉无法发布 Azure DevOps 存储库,它属于我们的企业订阅,不公开。
【问题讨论】:
-
嗨,你能分享一个简单的python项目和更多关于你如何创建exe的细节(任务)。使用 pyinstaller 之类的东西?我们需要更多细节来重现该问题。
-
好的,我添加了构建管道和示例 repo。
标签: python arm azure-pipelines