0

我正在尝试安排一个在 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)

我在我的“站点包”文件夹中的(venv)中安装了所有适当的扩展模块 pip: 在此处输入图像描述

但它无法运行,因为它无法从 bs4 导入 beautifulsoup4:

error: "No module named bs4"
4

1 回答 1

1

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

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

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

  1. 导航到 Azure 中的应用服务
  2. 转到高级工具 在此处输入图像描述
  3. 点击网站扩展 在此处输入图像描述
  4. 安装你想使用的 python 扩展 在此处输入图像描述

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

  • your_file_name.py只是您要运行的 python 脚本
  • run.bat是您调用可执行文件的批处理文件。该文件应包含以下命令:第一个将 pip 安装您在 requirements.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 作业 在此处输入图像描述

于 2021-03-01T21:26:47.807 回答