【发布时间】: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