[英]python can't find '__main__' module in '.py' in Azure Pipelines
我的目标是通过 Azure 管道将我的 python 脚本从 GitHub 部署并运行到我的虚拟机。 我的azure-pipelines.yml
看起来像这样:
jobs:
- deployment: VMDeploy
displayName: Test_script
environment:
name: deploymentenvironment
resourceType: VirtualMachine
strategy:
rolling:
maxParallel: 2 #for percentages, mention as x%
preDeploy:
steps:
- download: current
- script: echo initialize, cleanup, backup, install certs
deploy:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: python3 $(Agent.BuildDirectory)/test_file.py
routeTraffic:
steps:
- script: echo routing traffic
postRouteTraffic:
steps:
- script: echo health check post-route traffic
on:
failure:
steps:
- script: echo Restore from backup! This is on failure
success:
steps:
- script: echo Notify! This is on success
这将返回一个错误:
/usr/bin/python3: can't find '__main__' module in '/home/ubuntu/azagent/_work/1/test_file.py'
##[error]Bash exited with code '1'.
如果我将test_file.py
放到/home/ubuntu
并用以下内容替换部署脚本: script: python3 /home/ubuntu/test_file.py
脚本运行顺利。
如果我使用mv /home/ubuntu/azagent/_work/1/test_file.py /home/ubuntu
将test_file.py
移动到另一个目录,我可以找到一个名为test_file.py
的空文件夹,而不是.py
文件
编辑
乔布斯截图:
无法获取源的原因是因为您使用download: current
来下载当前管道运行产生的工件,但您没有在当前管道中发布任何工件。
由于部署作业不会自动签出源代码,因此您需要在部署作业中签出源代码,
- checkout: self
或在下载之前将源发布到工件。
- publish: $(Build.SourcesDirectory)
artifact: Artifact_Deploy
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.