我正在使用命令 func azure functionapppublish
将我的 python 函数应用发布到 Azure。据我所知,该命令仅打包源代码并将其传输到 Azure,然后在 Azure 中的远程计算机上“构建”并部署函数应用程序。构建阶段包括从 pypi 收集依赖项。有没有办法覆盖它寻找这些依赖项的位置?我想将其指向我的 ow pypi 服务器,或者在我的源代码树中本地提供轮子并让它使用它们。我有几个问题:
- 我的假设正确吗?
- 假设确实如此,这可能吗?如何实现?
我尝试了一些方法,阅读了一些文档,查看了 CLI 工具中的各种 --help
选项,我设置了一个 pip.conf
我已经验证的文件适用于本地 pip 使用,然后故意“破坏它”并尝试查看发布是否会失败(它没有失败,所以这让我相信它忽略了 pip.conf 或构建(并且依赖项的收集发生在远程端)。我不知所措,感谢任何提示、指示或答案!
最佳答案
您可以添加额外的 pip 源以指向您自己的 pypi 服务器。检查https://learn.microsoft.com/en-us/azure/azure-functions/functions-reference-python#remote-build-with-extra-index-url
使用额外索引 URL 进行远程构建: 当您的包可从可访问的自定义包索引中获取时,请使用远程构建。发布之前,请确保 create an app setting名为 PIP_EXTRA_INDEX_URL。此设置的值是自定义包索引的 URL。使用此设置告诉远程构建使用 --extra-index-url 选项运行 pip install。要了解更多信息,请参阅Python pip install documentation .
您还可以将基本身份验证凭据与额外的包索引 URL 一起使用。要了解更多信息,请参阅Basic authentication credentials在 Python 文档中。
关于引用本地包,这也是可能的。检查https://learn.microsoft.com/en-us/azure/azure-functions/functions-reference-python#install-local-packages
我希望您的两个问题现在都得到解答。
关于python - 如何使用内部 pypi 构建/部署 Python Azure Function App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63568507/