【问题标题】:Visual Studio 2019 Python Publish to File System FailsVisual Studio 2019 Python 发布到文件系统失败
【发布时间】:2021-03-22 16:03:45
【问题描述】:

我无法使用 Visual Studio 2019 将 Python 应用程序“发布”到本地文件路径。其目的是在 Windows 2016 服务器上的 IIS 下托管应用程序。 PC 运行的是 Windows 10 build 1909。

我已将 VS 2019 更新到版本 16.9.2,Python 产品版本为 16.9.21026.1。

测试应用程序是未经修改的“Flask Web 项目”模板,它在 Visual Studio 环境中按预期运行。

我已尝试发布到默认的".\app.publish" 文件路径,即

"C:\Apps_VS2019\FlaskDemoApp\FlaskDemoApp\app.publish", and to "C:\Apps_VS2019\Pub"

在这两种情况下,所有用户都被授予完全控制权限。

发布命令将成功发布报告给例如"C:\Apps_VS2019\Pub" 但没有文件写入该路径。我确实看到一些文件复制到"C:\Apps_VS2019\FlaskDemoApp\FlaskDemoApp\obj\Any CPU\Debug\Package\PackageTmp" 但没有任何东西进入最终的发布文件夹。 .\PackageTmp 文件夹包含:文件夹 "FlaskDemoApp",以及文件 "requirements.txt""runserver.py"。 “FlaskDemoApp 文件夹包含:“static”、“templates”、“init.py”和“views.py”,其中包含预期文件/子文件夹的 static 和模板文件夹。

我在.\PackageTmp 文件夹中没有看到任何必需的包"click", "Flask", "itsdangerous", "Jinja2", "MarkupSafe", Werkzeug" 等(它们应该在那里吗?)

FolderProfile1.pubxml in "C:\Apps_VS2019\FlaskDemoApp\FlaskDemoApp\PublishProfiles"

内容:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
  <DeleteExistingFiles>False</DeleteExistingFiles>
  <ExcludeApp_Data>False</ExcludeApp_Data>
  <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
  <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
  <LastUsedPlatform>Any CPU</LastUsedPlatform>
  <PublishProvider>FileSystem</PublishProvider>
  <PublishUrl>C:\Apps_VS2019\Pub</PublishUrl>
  <WebPublishMethod>FileSystem</WebPublishMethod>
  </PropertyGroup>
</Project>

VS项目一直处于Debug/Any CPU配置,所以完全不清楚为什么设置为“Release”。但是没有 Release 文件夹或 Debug 文件夹。

底线:任何想法为什么发布“成功”但目标路径中没有文件?上面描述的“PackageTmp”文件夹是否拥有它应有的一切? "Flask""Jinja2"等外部包应该在哪里?

【问题讨论】:

    标签: python visual-studio flask publish


    【解决方案1】:

    我对自己的问题至少有部分答案。 VS 中的构建配置是“Debug”“Any CPU”。在发布配置文件中,“配置”参数设置为“发布”。我不得不手动将该设置更改为“调试”。现在,在发布时,我在发布路径中设置了一个文件。该文件集包含文件夹“static”和“templates”,以及文件“_ init _.py”和“views.py”。

    我仍然不确定外部软件包,例如“Flask”和“Jinja2”,但我怀疑在服务器上设置Python环境时需要分别处理。我会开始研究那个。至少我现在可以在我的发布目标路径中获取文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多