Python 未找到模块 Azure 函数应用
Python module not found Azure function app
我正在尝试通过 Azure DevOps 将 Python 应用程序部署到 Azure Function App。
在我的构建管道中,我可以看到它从项目的根文件夹中的 requirements.txt 成功安装了所需的包 Pygresql,但是当我部署到应用程序时,我收到了一条找不到模块的消息在 Azure 中。
请在下面找到我的构建管道配置:
pool:
name: Azure Pipelines
trigger:
branches:
include:
- master
steps:
- bash: |
if [ -f extensions.csproj ]
then
dotnet build extensions.csproj --output ./bin
fi
displayName: 'Build extensions'
- task: UsePythonVersion@0
displayName: 'Use Python 3.7'
inputs:
versionSpec: 3.7
- script: |
python -m venv worker_venv
source worker_venv/bin/activate
python -m pip install --upgrade pip
pip install setuptools
pip install setup
pip install -r requirements.txt
displayName: 'Install Application Dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
includeRootFolder: false
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
如有任何帮助,我们将不胜感激!
非常感谢,
英里
修复找不到模块错误的方法:
方式一
在您的脚本部分指定您的 python 版本
.
.
.
# either you can use script / bash. Here i am using bash
- bash: |
python3.7 -m venv worker_venv
source worker_venv/bin/activate
python3.7 -m pip install --upgrade pip
pip3.7 install setuptools
pip3.7 install setup
pip3.7 install -r requirements.txt
displayName: 'Install Application Dependencies'
.
.
.
参考build CI/CD for python azure functions using Azure DevOps
方式 2
不要使用 pip install -r requirements.txt
,请尝试使用下面的
# for python version 3.7
pip install --target="./.python_packages/lib/site-packages" -r ./requirements.txt
# for python version 3.6
pip install --target="./.python_packages/lib/python3.6/site-packages" -r ./requirements.txt
使用 python azure 函数引用 example yaml build pipeline。
方式 3
而不是使用 python -m venv worker_venv
尝试使用 python -m venv .python_packages
参考 github issue 了解信息。
我正在尝试通过 Azure DevOps 将 Python 应用程序部署到 Azure Function App。
在我的构建管道中,我可以看到它从项目的根文件夹中的 requirements.txt 成功安装了所需的包 Pygresql,但是当我部署到应用程序时,我收到了一条找不到模块的消息在 Azure 中。
pool:
name: Azure Pipelines
trigger:
branches:
include:
- master
steps:
- bash: |
if [ -f extensions.csproj ]
then
dotnet build extensions.csproj --output ./bin
fi
displayName: 'Build extensions'
- task: UsePythonVersion@0
displayName: 'Use Python 3.7'
inputs:
versionSpec: 3.7
- script: |
python -m venv worker_venv
source worker_venv/bin/activate
python -m pip install --upgrade pip
pip install setuptools
pip install setup
pip install -r requirements.txt
displayName: 'Install Application Dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
includeRootFolder: false
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
如有任何帮助,我们将不胜感激!
非常感谢,
英里
修复找不到模块错误的方法:
方式一
在您的脚本部分指定您的 python 版本
.
.
.
# either you can use script / bash. Here i am using bash
- bash: |
python3.7 -m venv worker_venv
source worker_venv/bin/activate
python3.7 -m pip install --upgrade pip
pip3.7 install setuptools
pip3.7 install setup
pip3.7 install -r requirements.txt
displayName: 'Install Application Dependencies'
.
.
.
参考build CI/CD for python azure functions using Azure DevOps
方式 2
不要使用 pip install -r requirements.txt
,请尝试使用下面的
# for python version 3.7
pip install --target="./.python_packages/lib/site-packages" -r ./requirements.txt
# for python version 3.6
pip install --target="./.python_packages/lib/python3.6/site-packages" -r ./requirements.txt
使用 python azure 函数引用 example yaml build pipeline。
方式 3
而不是使用 python -m venv worker_venv
尝试使用 python -m venv .python_packages
参考 github issue 了解信息。