热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在VisualStudio上更好开发Python的六大功能!

VisualStudio20132015搭配PythonToolsforVisualStudio扩充套件让VisualStudio能提供对Python程序语言高度整合的开发环境,并完整发挥VisualStudio强大的功能,协助您在VisualStudio内开发Python程序上如虎添翼,提升开发效率!以下将说明六项VisualStudio整合开发Python程序之优势功能。
  Visual Studio 2013/2015 搭配 Python Tools for Visual Studio 扩充套件让 Visual Studio 能提供对 Python 程序语言高度整合的开发环境,并完整发挥 Visual Studio 强大的功能,协助您在 Visual Studio 内开发 Python 程序上如虎添翼,提升开发效率!

  以下将说明六项 Visual Studio 整合开发 Python 程序之优势功能。

  1. 整合 Python 直译器 (Interpreter) & 互动视窗 (Interactive)


  2. 整合 Python 虚拟开发环境 (Virtual Environment)


  3. 整合 Python 套件管理员 (Package Manager)


  4. IntelliSense 对 Python 完整的支持


  5. 对 Python 使用侦错模式 (Debugging)


  6. 跨平台远端侦错 (Remote Debugging)

 整合 Python 直译器 (Interpreter) & 互动视窗 (Interactive)

  Visual Studio 高度整合 Python 直译器,让您能够在开发过程中切换不同版本的 Python 直译器。此项功能除了能够切换至您所熟悉的 Python 版本进行开发外,更可确保您的程序在不同 Python 版本下运行的函式相容性是合法的,如下图代码当中的 print 函式,在 Python 2.7 环境下为合法的 (红色箭头指向目前为使用 Python 2.7 全域环境直译器)。

  若您的系统有安装不同版本的直译器,将会替您整合至 Visual Studio 当中供您选择。如您安装直译器的路径非预设路径或欲自订直译器函示库、直译器位元时,您亦可自行于 Visual Studio 新增自订直译器。

  接着我们示范切换至不同版本的 Python 环境,这里以切换至 Python 3.5 为例。

  此时会发现 Visual Studio 自动侦测到非该环境版本所支持的函式,透过下引号提示使用者错误的代码片段,提供使用者快速寻找出不同版本间不相容之处,以便快速进行修正工作。

  并提供于 Visual Studio 内启动不同版本的互动 (Interactive) 视窗,就像以往在 Python 命令列下做的事情一样,此互动视窗提供您进行初步撰写、测试,以及验证您设计想法的一个简易执行环境。

 整合 Python 虚拟开发环境 (Virtual Environment)

  Visual Studio 提供完整的 Python 虚拟环境来为不同项目提供独立的 Python 执行环境,如此一来可避免多个项目间彼此共用一个全域环境使得有太多与该项目不相关的套件在环境中,增加开发环境的複杂度。或者您能够在不同环境中安装不同版本的套件,以便测试在不同的版本中所使用到套件的函式是否有不一样之处。

  如下图,我们创建多个虚拟环境,用此来安装不同版本的套件以进行相容性测试,而创建出来的虚拟环境能于稍后提供给其他项目使用,减少安装及创建环境所花费冗馀的设定时间。

  在创建虚拟环境时能够透过其他虚拟环境或者全域环境内已安装的套件产生 requirements 档,此档桉将可在稍后创建新的虚拟环境时作为参考,提供快速设置新的虚拟环境所需的套件清单。

 整合 Python 套件管理员 (Package Manager)

  在 Python 中有许多有用的第三方套件能够透过 pip 或者 easy_install 套件管理员安装,让您能在代码中呼叫这些套件中的函式,协助您更快的达成开发目标。而在 Visual Studio 中高度整合这些套件管理员,让您不需要输入繁琐的指令即可简单的安装套件。

  如下图,可于方案总管内在欲安装套件的 Python 环境下点击滑鼠右键,即可看到安装 Python 套件的选项。

  接着如下图输入您要安装的套件名称,在这裡您也可以指定版本安装,或者不指定则安装最新版本的套件。另外需要注意的是若您使用 easy_install 选项,将不会替您即将安装的套件整合至方案总管当中,如此一来将无法使用 Visual Studio 完整管理这些透过 easy_install 安装的套件。

 IntelliSense 对 Python 完整的支持

  Visual Studio 针对 Python 亦提供以往在 C#、VB、VC++ 等语言上 IntelliSense 的支持,例如:列出物件成员、函式呼叫参数与返回值资讯、快速谘询和自动完成文字等辅助功能,让您在撰写物件或者呼叫函式时能够更有信心,提高撰写效率。

  下图展示 IntelliSense 功能协助列出物件中所公开的成员内容。

  下图展示 IntelliSense 功能提供函式呼叫参数资讯。

  另外 IntelliSense 提供快速动作,例如键入 main 后按下「T,即可帮您自动补完合适的代码区段与相关参考。

 对 Python 使用侦错模式 (Debugging)

  Visual Studio 针对 Python 支持完整侦错功能,例如在程序执行时能够暂止于中断点处,此时能检视或修改当下执行情况的区域变数以及呼叫堆叠,并能于侦错模式下使用您熟悉的重要功能让您能更简易快速的掌握程序执行的情况。

  另外,Visual Studio 对 Python 支持了溷合侦错模式 (Mixed-Mode debugging),若您的 Python 代码中有使用到外部如 C/C++ 等 Native Code 并拥有该 Native Code 的原始码项目时便能进行溷合侦错模式。而与一般侦错模式一样,在 Python 外的语言仍可进入中断点改变其变数值。

  相同的,您也能够于混合侦错模式下自由的跳跃至不同代码的呼叫堆叠当中进行代码及变数的巡览。

 版本控制

  Visual Studio 整合版本控制,其支持 Git 与 Visual Studio Team Services 版本控制,透过 Visual Studio 您现在不需要额外工具就能够直接于 Visual Studio 内对您的 Python 项目直接进行版本提交、复原、比较、检视代码历史纪录等版本控制所用到的常用功能。

 跨平台远端侦错 (Remote Debugging)

  Visual Studio 替 Python 程序加入了远端除错的能力,透过这个 Python 套件让您能够使用 Visual Studio 连接在不同的作业系统上 (如 Linux) 执行的 Python 程序。此项功能使得您在跨平台开发时更能够获得一致的开发体验与提升整体开发效率!

  如下图展示 Python 程序运作在一块 Linux 嵌入式开发板上,同时在个人电脑内的 Windows 10 运行着 Visual Studio 2015,其透过 ptvsd 套件能让您远端附加至序,直接对 Linux 嵌入式开发板上运行的 Python 程序进行如您所熟悉的侦错模式。并保有完整的侦错模式功能像是区域变数检视、呼叫堆叠分析等完整侦错功能来进行程序的分析与追踪。

  參考資料:

  PTVS 影片教学課程

  开放源代码 – GitHub/Microsoft/PTVS

以上就是如何在 Visual Studio 上更好开发 Python 的六大功能!的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • Linux环境变量$PATH的作用及使用方法
    本文介绍了Linux环境变量$PATH的作用及使用方法。$PATH是一个由多个目录组成的变量,用冒号分隔。当执行一个指令时,系统会按照$PATH定义的目录顺序搜索同名的可执行文件,如果有多个同名指令,则先找到的会被执行。通过设置$PATH变量,可以在任何地方执行指令,无需输入绝对路径。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • 本文是关于C#类型系统、值类型和引用类型的概念性笔记。介绍了C#1系统类型的三个特性,静态类型的含义,显式类型和隐式类型的区别。还讨论了类、结构、数组类型、枚举、委托类型和接口类型属于哪一种类型。同时纠正了关于结构、引用类型和对象传递的错误表述。最后提到了C#4中使用动态类型的关键字。 ... [详细]
author-avatar
无语我去_296
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有