Cursor的python语言配置-基于anaconda

文摘   2024-12-09 00:16   天津  

配置后可实现功能

  1. 本地部署python环境
  2. 代码自动补全及语法高亮
  3. conda虚拟环境的切换

配置实操流程

1.下载及安装anacodna

安装教程参考以下网址:https://blog.csdn.net/qq_44000789/article/details/142214660

从以下网址下载anaconda https://www.anaconda.com/download

根据系统选择

下载后直接安装

建议对 所有用户执行
建议安装在非系统盘

上步很关键,务必把anaconda添加到环境变量,否则需要自己手动设定,非常麻烦

进入系统终端查看是否安装从成功

ctrl+R后输入cmd
调出conda帮助文件是否可用
如果显示帮助文档证明可用

如果不能正常显示,则重启启动尝试,如果还不行可参考以下教程手动设定conda的环境变量

https://blog.csdn.net/qq_44000789/article/details/142214660

2.构建虚拟环境并配置python版本

查看目前已经有的虚拟环境

# 查看当前虚拟环境
conda env list 

可以看到,我已经配置了一个python10的虚拟环境,如果你的环境没有,可以执行以下命令创建

# 创建名为 py310 的虚拟环境,Python版本为3.10
conda create -n py310 python=3.10

配置成功后激活环境看是否可以

# 激活名为 py310 
conda activate py310 
# 查看Python版本
python --version

# 查看所有已安装的包及其版本
pip list

# 或者使用conda命令查看
conda list

# 导出环境中所有包的列表到requirements.txt文件
pip freeze > requirements.txt

# 查看当前环境的详细信息
conda info

# 查看特定包的版本
pip show package_name  # 替换 package_name 为具体的包名

3.配置Cursor的python环境

安装以下插件进行配置

3.1 pylance插件

Pylance是一个功能强大的VS Code插件,主要用于Python开发,以下是它的一些主要用处:

一、智能代码补全

  • 变量和函数补全
    • 在编写Python代码时,Pylance可以根据变量的类型和已定义的函数自动提供补全建议。例如,当你定义了一个函数def add_numbers(a: int, b: int): return a + b,在其他地方调用这个函数时,Pylance会准确地提示函数名add_numbers,并且在输入参数时,会提示参数应该是整数类型。
    • 对于类中的方法和属性,它也能提供很好的补全。如果有一个类class MyClass:,里面定义了方法def my_method(self):,当你创建类的实例并尝试访问方法时,Pylance会自动补全my_method
  • 模块和库补全
    • 当导入外部模块和库时,Pylance可以帮助你快速找到模块中的可用对象。比如,在使用numpy库时,它会提示numpy中的各种函数,如numpy.arraynumpy.mean等。并且它还会根据你的代码上下文,推荐最合适的模块成员。例如,如果你正在处理数值计算相关的代码,它会更倾向于推荐数学计算相关的模块成员。

二、类型检查

  • 静态类型检查
    • Pylance支持Python的类型提示功能。它可以在编写代码时检查变量、函数参数和返回值的类型是否符合预期。例如,如果你定义了一个函数def greet(name: str) -> str:,但在调用这个函数时传入了一个整数作为参数,Pylance会在编辑器中显示类型错误提示,帮助你避免在运行时才发现类型不匹配的问题。
    • 对于复杂的类型结构,如列表、字典等,它也能进行有效的检查。比如,当你定义了一个函数接受一个元素为整数的列表def process_list(lst: List[int]),如果传入的列表元素类型不符,Pylance会及时发现并提示。
  • 发现潜在错误
    • 通过类型检查,Pylance可以帮助发现一些逻辑错误。例如,在一个函数内部,如果不小心将一个应该返回的变量重新赋值为错误的类型,Pylance可以通过类型分析检测到这种异常情况,提前提醒开发者。

三、代码导航和查看定义

  • 导航到定义
    • 当你在代码中遇到一个变量、函数或类时,你可以通过快捷键(通常是F12)快速导航到它的定义位置。这对于理解大型代码库的结构非常有帮助。例如,在一个包含多个模块的项目中,如果你看到一个函数调用,通过这个功能可以快速跳转到该函数的定义所在的模块和行。
  • 查看引用
    • 它还可以查看一个对象(如函数、变量、类)在代码中的所有引用位置。这有助于你了解代码的调用关系,特别是在重构代码或者排查问题时,你可以知道修改一个对象会对哪些部分产生影响。

四、代码格式化和分析支持

  • 代码格式化建议
    • Pylance可以与Python代码格式化工具(如black)集成,在编写代码时提供格式化建议。它会根据最佳实践和代码风格指南,提示你如何正确地缩进代码、如何合理地安排代码行间距等,使得代码在格式上更加规范和易读。
  • 代码质量分析
    • 插件能够分析代码的复杂性、潜在的性能问题等。例如,它可以发现代码中存在的循环嵌套过深的情况,或者某些函数过于复杂(包含过多的条件判断和操作),并提醒开发者注意这些可能会影响代码性能和可维护性的部分。

3.2 python插件

  1. 代码编写辅助
  • 语法高亮:在VS Code中安装Python插件后,它会对Python代码进行语法高亮。这使得代码中的不同元素,如关键字(ifelsefor等)、变量、函数、字符串、注释等,以不同的颜色和字体样式显示。例如,关键字可能是蓝色,字符串是绿色,这样可以让代码结构一目了然,方便开发者快速定位和阅读代码。
  • 自动补全:插件能够根据已有的代码上下文提供自动补全功能。比如,当你输入一个函数名的开头几个字符,它会自动列出可能匹配的函数名称。对于模块中的函数和类,它也能很好地补全。例如,在导入numpy模块后,输入np.(假设numpy被缩写为np),它会展示numpy模块中的各种函数和对象,如np.arraynp.mean等,提高编码效率。
  • 代码片段支持:提供了许多常用的Python代码片段。例如,快速生成for循环、if - else语句等代码结构。你只需要输入一个简短的命令,如for,然后按下回车键,插件就会自动插入一个完整的for循环代码模板,你只需要填充具体的变量和操作内容即可。
  • 调试支持
    • 调试配置生成:帮助用户轻松地设置Python程序的调试配置。它可以自动检测Python解释器的路径,并根据项目的类型(如简单的脚本文件、Django项目、Flask项目等)生成相应的调试配置文件。用户可以通过简单的操作设置断点,启动调试会话,逐步执行代码,查看变量的值和程序的执行流程。
    • 变量查看和监视:在调试过程中,能够方便地查看变量的值。可以在调试窗口中展开变量对象,查看其内部的属性和元素。同时,还可以设置变量监视,当变量的值发生变化时,调试器会及时显示变化后的信息,这对于追踪程序中的逻辑错误和数据变化非常有用。
  • 代码导航和理解
    • 转到定义:允许用户快速跳转到函数、类或变量的定义位置。当你在代码中看到一个函数调用或者变量使用,通过右键菜单或者快捷键(通常是F12),可以直接导航到该函数或变量的定义所在的文件和行。这对于理解代码的结构和逻辑,尤其是在大型项目中追踪代码的实现细节非常有帮助。
    • 查找引用:可以查找一个函数、类或变量在整个项目中的所有引用位置。这有助于了解代码的调用关系,例如,当你想要修改一个函数的实现时,通过查找引用可以确定所有可能受到影响的代码部分,方便进行代码的维护和重构。
  • 代码检查和格式化
    • 语法检查:插件会实时检查Python代码的语法错误。当你输入代码时,如果出现语法错误,如缺少括号、冒号位置错误等,它会在代码行旁边显示错误标记,并在状态栏提示错误信息,让你能够及时发现和纠正错误。
    • 代码格式化建议:可以根据一些流行的Python代码风格指南(如PEP8)提供代码格式化建议。它可以自动调整代码的缩进、空格的使用等格式问题,也可以与外部的代码格式化工具(如blackyapf)集成,使代码在格式上更加规范和统一,提高代码的可读性。
  • 环境管理支持
    • 解释器选择:方便用户选择不同的Python解释器。如果你的系统上安装了多个Python版本(如Python 2.7和Python 3.x),或者在虚拟环境中有不同的解释器,插件可以让你轻松地在这些解释器之间切换。你可以通过在状态栏或者设置菜单中指定要使用的解释器路径,确保代码在正确的环境中运行。
    • 虚拟环境支持:能够很好地与Python虚拟环境集成。当你创建并激活一个虚拟环境后,插件可以自动检测到虚拟环境中的解释器和相关的库,并在开发过程中使用虚拟环境中的资源。这对于在不同项目中隔离Python依赖关系非常重要。

    3.3 Python Environment Manager

    1. 环境管理便捷化
    • 多环境切换:Python Environment Manager插件为开发者提供了一种便捷的方式来管理多个Python环境。在开发过程中,可能会涉及到不同版本的Python(如Python 2.7和Python 3.x系列),或者是在不同的虚拟环境中进行开发。这个插件可以让用户轻松地在这些环境之间进行切换。例如,你可能有一个项目需要在Python 3.7环境下运行,另一个项目则基于Python 3.9,通过该插件,你可以快速地在这两个环境中切换,而不需要手动去修改系统路径或者其他复杂的配置。
    • 环境可视化展示:它能够以直观的方式展示当前可用的Python环境。这些环境可能包括系统全局安装的Python环境、通过虚拟环境工具(如venv、conda等)创建的虚拟环境。插件会列出每个环境的关键信息,如环境名称、Python版本号等,使得开发者可以清楚地了解自己拥有哪些开发环境。
  • 虚拟环境操作支持
    • 虚拟环境创建:帮助用户方便地创建新的虚拟环境。当你开始一个新的Python项目,并且想要创建一个独立于系统环境的虚拟环境来管理项目的依赖关系时,该插件可以简化这个过程。它可以根据你指定的Python版本(例如,使用Python 3.8来创建一个新的虚拟环境),自动调用相应的虚拟环境创建工具(如venv或者conda)来生成一个新的虚拟环境。在创建过程中,还可以为虚拟环境指定名称、路径等参数。
    • 虚拟环境激活与停用:对于已经存在的虚拟环境,插件可以方便地激活和停用。激活一个虚拟环境后,VS Code会将该环境作为当前的Python开发环境,这样在运行和调试Python代码时,就会使用该虚拟环境中的Python解释器和安装的库。停用虚拟环境则可以切换到其他环境或者系统默认环境。这种灵活的操作方式使得开发者可以根据项目的实际需求随时切换开发环境。
  • 与其他插件和工具协同
    • 与代码执行插件协同:Python Environment Manager插件能够和VS Code中用于执行Python代码的插件(如Python插件)很好地协同工作。当你切换环境后,代码执行插件可以自动检测到新的环境,并使用新环境中的Python解释器来运行代码。例如,在调试一个Python项目时,它可以确保调试器在正确的虚拟环境中启动,使用该环境中的相关调试库和配置。
    • 与依赖管理工具协作:它还可以和Python的依赖管理工具(如pipconda等)配合。在激活的虚拟环境中,你可以直接通过插件界面或者相关命令来使用这些依赖管理工具安装、更新或者卸载Python库。这样可以确保库的安装和管理都是在特定的虚拟环境中进行,避免了不同项目之间的依赖冲突。
  • 环境配置管理
    • 自动检测环境配置:该插件可以自动检测每个Python环境中的配置信息。这包括Python解释器的路径、已安装的库及其版本、环境变量等。这些信息对于开发者了解每个环境的状态非常重要。例如,在排查库的兼容性问题或者确定某个特定功能是否可用时,通过查看环境配置信息可以快速得到答案。
    • 保存和恢复环境设置:可以帮助用户保存特定环境的设置,并且在需要的时候进行恢复。这在团队协作或者在不同设备上开发相同项目时非常有用。例如,你可以将一个经过精心配置的项目环境设置保存下来,然后分享给团队成员,他们就可以在自己的设备上轻松地恢复这个环境,确保整个团队在相同的开发环境下工作。

    4.使用python环境及版本切换

    当前环境下安装的库


    课程安排-动态预测模型

    • 12月15日(周日)开始第1次授课(上下午授课,每周约4-6小时)
    • 每周六授课1天(上下午均授课)
    • 最少授课时间为30小时,预计6-8周授课结束
    • 过年前(2025年1月29日前)完成授课内容
    • 课程更新:应用Cursor进行代码编写演示
    • 课程会演示并协助同学完成Cursor配置工作

    为什么要用cursor

    随时可唤起AI模型

    ctrl+L可唤起对话

    丰富的AI模型(ctrl+L)

    仅从某宝或某鱼可购买无限制低价会员

    根据注释自动生成代码

    根据代码区要求生成代码(ctrl+K)

    可SSH登录远程服务器R语言环境

    与R studio类似的工作环境-workspace

    支持类似于R studio的快捷键设定

    设定界面
    官网教程

    开课目的及前言

    预测模型作为真实世界研究的重要组成部分,其研究被广泛开展。但是,传统的预测模型利用基线数据对最终的生存结果进行预测,这种模型无法纳入患者在后续随访中可能会动态变化的重要数据(比如肿瘤标记物的动态变化)。 以上情况在统计学中会产生估计偏差情况,也是不符合临床实际的。近年来发展起来的动态预测模型方法,利用患者的多次随访数据,结合患者的基线数据,对最终患者的额生存结果(或类似的time to event事件)进行估计。其发文量呈现快速增长趋势。

    在临床实际中,医生会根据患者的动态变化指标做出进一步诊断及治疗的判断。动态预测模型结合患者的纵向数据与最终的生存结果,对于最终结果进行更加准备的预测。由于当前R语言在医学统计工作中占据重要地位,但很多临床大夫、护士因为时间工作关系很难将R语言与临床科研相结合,故开设R语言动态预测模型课程,旨在快速让学员掌握统计工作中常用到的R语言,助力临床科研工作。天企助力(天津)生产力促进有限公司特举办“基于R语言的动态预测模型课程培训班”。

    预测模型类文章目前总结起来发展经历了以下三个阶段:

    1. 基于传统流行病学的列线图模型(本质都是cox回归及glm回归),简单的统计学分析模型,是模型依赖的方法,临床上实际情况很难满足其前提假设,实际效果不好。

    2. 基于机器学习/深度学习的预测模型的构建(在数据上提高了维度,在算法上引入了机器学习),虽然算法上引入了机器学习模型,处理数据更加灵活,模型的假设也更少。但是在使用的数据上还是患者的一次基线数据进行预测,与临床实际不符。

    3. 基于纵向数据的动态预测模型(基于纵向多次随访数据,模型应用联合模型等动态预测模型方法),应用患者的多次随访数据对最终的生存结果进行预测,从数据和方法上都更类似于临床实际。

    考虑到动态预测模型有以下特点,因此必然是后续高分文章的必备方法:

    1. 数据上必须有同一个患者的多次随访数据,相对于既往横断面一次基线数据,数据的收集难度更大,而且动态预测模型需拟合纵向的线性混合模型,因此需要的数据量较大。这就提示我们如果能收集到如上数据更加容易发高分文章。

    2. 应用方法学动态预测模型需首先掌握普通生存分析及普通预测模型的方法,并且还需要熟悉纵向数据分析的广义线性混合模型,再次基础上还需要掌握tidyverse语法基础来将自己的数据转换为满足函数要求的纵向数据,另外对于联合模型,模型的结合形式及变量选择也均需要从临床背景及统计学方法考虑。

    近期高分文章举例

    文章示例-动态预测模型预测筛查肠癌患者
    文章示例-动态预测模型预测前列腺癌预后
    文章示例-动态预测用于创伤外科
    文章示例-动态预测对比传统模型在糖尿病患者中的应用
    顶刊文章示例-动态预测模型用于肾移植后再次肾功能不全诊断
    杂志情况

    授课老师

    灵活胖子-独自

    双一流学校肿瘤学博士毕业,目前就职于国内五大肿瘤中心之一。科研方向为真实世界研究,生物信息学分析及人工智能研究。目前以第一或共同第一作者身份发表SCI论文10余篇,累计IF50+。目前与国内多个院校及医院有科研合作。联合翻译小组同学,在国内第一次将jmbayes2及dynamicLM全文翻译为中文并在公众号发表。

    课程目录及安排

    授课形式及时间

    授课形式:远程在线实时直播授课。

    授课时间:2024年12月开课,总课时不少于30小时,每周进行3-5小时的授课,有充分时间学习,预计6-8周完成所有授课内容。

    答疑支持:建立课程专属微信群,1年内课程内容免费答疑。

    视频回看:3年内免费无限次回看。

    课程售价及售后保证

    课程售价:总价3000元,报名可先交300元预定即可,开课后2周内交齐即可

    对公转账等手续务必提前联系助教

    承办公司:天企助力(天津)生产力促进有限公司

    奖励政策:学员应用所学内容发表IF 10+文章可退还学费(具体要求及流程需要咨询助教)

    报名咨询

    可联系我的助教进行咨询

    我的助教微信

    助教联系电话:18502623993

    正式通知

    pdf版通知可联系助教获取


    灵活胖子的科研进步之路
    医学博士,R语言及Python爱好者,科研方向为真实世界研究,生信分析与人工智能研究。
     最新文章