如何在 Azure Web 作业中 pip 安装扩展模块?

问题描述 投票:0回答:2

我正在尝试安排一个在 Azure Web 作业中使用扩展模块的 Python 脚本:

import sys

sitepackage = "D:\home\site\wwwroot\env\Lib\site-packages"
sys.path.append(sitepackage)

try:
    from bs4 import BeautifulSoup
    print("!!! BEAUTIFUL SOUP !!!")
except ImportError as e:
    print(e)

我已将所有适当的扩展模块 pip 安装在“site-packages”文件夹内的 (venv) 中: enter image description here

但是运行失败,因为无法从bs4导入beautifulsoup4:

error: "No module named bs4"
python azure-webjobs python-venv python-3.9 extension-modules
2个回答
2
投票

好吧,我想出了这是我的解决方案,我将在下面详细解释每个步骤。

  1. 确保您的应用服务中有 python 扩展。
  2. 创建并压缩包含 3 个项目的文件夹:your_file_name.py、run.bat 和requirements.txt
  3. 使用新的压缩文件夹创建新的 Web 作业

第 1 步 - 确保您的应用服务中有 python 站点扩展:

  1. 导航到 Azure 中的应用服务
  2. 转到高级工具 enter image description here
  3. 单击站点扩展 enter image description here
  4. 安装您想要使用的 python 扩展 enter image description here

第 2 步 - 创建并压缩包含 3 个项目的文件夹:your_file_name.py、run.bat 和requirements.txt

  • your_file_name.py 就是你想要运行的 python 脚本
  • run.bat 是调用可执行文件的批处理文件。该文件应包含以下命令:第一个命令将 pip 安装在您的 requests.txt 中指定的第 3 方依赖项,第二个命令将执行您的脚本。 (编辑路径和文件名以匹配您的)
    D:\home\python364x86\python.exe -m pip install --upgrade -r D:\home\site\wwwroot\App_Data\jobs\triggered\webjobname\zippedfoldername\requirements.txt
    D:\home\python364x86\python.exe your_file_name.py
  • requirements.txt 是您要指定要使用的扩展模块甚至版本的位置。 (更多关于requirements.txt的信息这里
beautifulsoup4==4.9.3
bs4==0.0.1
soupsieve==2.2
urlopen==1.0.0

第 3 步 - 使用新的压缩文件夹创建一个新的 Web 作业 enter image description here


0
投票

仅添加一些附加信息。另外,请确保按照上述说明安装带有扩展的 python。 如果您运行在 Windows 环境中。对我有用的是有一个文件夹:

  • 要运行的Python文件(run.py)
  • run.cmd(命令行指令)
  • 需求.txt

下面的 run.cmd 示例:

set PYTHON_PATH=D:\home\python3111x64\python.exe
%PYTHON_PATH% -m pip install --upgrade -r requirements.txt
%PYTHON_PATH% run.py
© www.soinside.com 2019 - 2024. All rights reserved.