0

我正在尝试为我在 Azure 中用 python 构建的 Web 应用程序设置 PATH 环境变量。我尝试在os.environ.setdefault('PATH', 'pandoc-2.14.1-1-amd64.deb')本地使用类似的东西,但是一旦上传,这似乎不起作用。我也尝试在 azure 门户的配置部分中设置路径,但出现以下错误:在此处输入图像描述

我看过类似 在 azure 中设置 webapp %PATH% 环境变量的帖子。该帖子建议将名为 applicationHost.xdt 的文件添加到主/站点目录,该目录应自动设置 PATH 变量。但是,我无法将 applicationHost.xdt 上传到目录中的文件。这要么是因为文件 UI 界面不再存在,要么是我无法访问它。通过 UI 上传的功能是否已停止?

我能想到的唯一其他解决方法是在 Kudu bash shell 中使用 echo/cat 手动创建 applicationHost.xdt。这是非常棘手的。是否有任何在线工具可以在输入文件内容的情况下创建 bash 脚本以从头开始生成该文件?

4

1 回答 1

0

您可以为您的网络应用添加应用设置,如下所示:

在此处输入图像描述

在此处输入图像描述

然后,重新启动您的 Web 应用程序,在 Kudu 控制台中,您可以检查它。

在此处输入图像描述 在此处输入图像描述

注意:应用程序设置名称必须是唯一的,因此当您使用 PATH 作为密钥时,它已在部署时配置,因此在门户的应用程序设置中使用时使用不同的密钥名称。

作为一种解决方法,您可以通过 XDT 转换(XML 文档转换)来实现。

是的,您可以使用它echo来创建相同的。简单复制将文件内容粘贴到单引号 ' 内,并将其流式传输到已使用 echo 命令创建的文件中。

/home>echo '<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
  <system.webServer> 
    <runtime xdt:Transform="InsertIfMissing">
      <environmentVariables xdt:Transform="InsertIfMissing">
        <add name="FOO" value="BAR" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />    
        <add name="PATH" value="%PATH%;%HOME%\BAR" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />    
      </environmentVariables>
    </runtime> 
  </system.webServer> 
</configuration>' > applicationHost.xdt

在此处输入图像描述

cat使用命令验证内容

在此处输入图像描述

于 2021-08-05T11:44:58.917 回答