python - 为什么 Python 在 Visual Studio 2017 中损坏?

标签 python python-3.x visual-studio path visual-studio-2017

在安装 Visual Studio 2017 之前,我的所有 python 文件都可以在 PowerShell、Git Bash 和 Cygwin 终端中使用 py(或 py3)成功运行,但不能使用 CMD.exe 或 MSYS:

py myscript.py

这个可执行文件是由 Python 3.7 安装程序直接安装的,我为其配置了路径变量。

安装 VS 2017 后,Microsoft 将其 VS 特定的 py.exe 副本的路径 (C:\Windows\py.exe) 插入到系统 PATH 变量中。这个 python 副本在直接运行时不执行任何操作,并且不会响应 exit() 命令来终止其线程,并且脚本在传递给它时不执行任何操作。从字面上看,没有任何效果,甚至 print() 语句也不起作用。

在 Visual Studio 中,打开“解决方案资源管理器”窗口并右键单击 script.py 并单击启动而不调试后,没有任何反应。

如果我单击开始调试,则会将 View 更改为 Debug模式,并“运行”程序(显示暂停和停止按钮),但不会显示执行窗口。 “输出”面板自动选择“调试”,并且那里看不到任何输出。 “autos”和“locals”面板未填充,表明实际上没有运行任何内容。

我不需要解决方法。我知道我可以从 PATH 中删除此条目,但官方 Python 安装可能与 VS 2017 不兼容或可能缺乏集成。我想知道为什么 Microsoft 的 py.exe 副本在所有方面都失败,以及他们针对此问题的官方解决方案是什么。

最佳答案

这并不是一个真正正确的答案,因为我不确定它与您在 Visual Studio 2017 和 PowerShell 方面遇到的问题有何关系,但既然您要求我将其发布为虽然是一个,但我正在这样做。

<小时/>

Microsoft 没有安装 C:\Windows\py.exe 可执行文件,而是 Python 安装程序安装了。

另请注意,它不是 Python 解释器,而是一个命令行“启动器”实用程序,可在脚本文件开头查找特殊的 shebang(#! 前缀)注释。它使得在 Windows 上运行 Python 脚本的方式有点像在 Linux 上运行,并且当您的系统上安装了多个 Python 版本(例如 2.x 和 3.x)时,它会有所帮助。

请参阅 Python documentation 中有关在 Windows 上使用 Python 的以下内容。另请参阅 Vinay Sajip(作者)的版本控制存储库 pylauncher project这就是它的起源。

正如我在前言中所说,我不确定这一切与您的问题有何关系,但我认为了解事物正常工作原理可能会帮助您解决问题。

希望您觉得它很有洞察力......

关于python - 为什么 Python 在 Visual Studio 2017 中损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52617010/

相关文章:

c# - C# Web MVC 5项目中连续阅读SslStream

python - pip install - locale.Error : unsupported locale setting

asp.net - 如何防止错误列表窗口显示在 Visual Studio ASP.NET 编辑器中?

python - 使用 python selenium 打开多个页面

python - 如何在 Pandas 的列中删除不包含字符串类型的行?

python - 弃用警告 : invalid escape sequence - what to use instead of\d?

python - 不和谐 : How to get channel object where new member joined?

c# - 使用健康监控的 ASP.NET Web 应用程序日志记录不起作用

python - 使用 Geopy 获取多个位置的纬度和经度

python - pytest 或 py.test,以及不一致的文档