submit 编写python代码

本文详细介绍如何配置Sublime Text成为高效Python开发环境,涵盖代码分析、自动补全、Git集成等功能,以及美化界面和遵循PEP8规范。
部署运行你感兴趣的模型镜像

至少很长一段时间内,我个人用的一直是pycharm,也感觉挺好用的,也没啥大毛病

但是pycharm确实有点笨重,啥功能都有,但是有很多可能这辈子我也不会用到,并且pycharm打开的速度确实不敢恭维,即使固态硬盘也只能快了那么一丢丢。所以就尝试了很多IDE工具,最终选择了Sublime
我也相信,通过我的介绍,你也会爱上它的.

首先其他语言有的sublime也必须得有,并且更好用,主要有:

  1. 集成代码分析
  2. 代码的自动补全
  3. git功能的集成
  4. Sublime command-line 工具

不过上述的的这些功能不像pycharm一样给你配置好了而是需要自己进行一些设置,对很多人来说看着这些设置可能觉得好复杂,感觉还不如直接用pycharm算了,虽然现在网上也有很多教程或者文档教你怎么配置sublime的python开发环境,但是似乎都不是那么完善

所以下面的配置中会包括以下主要内容:

  1. python代码语法和风格的检查
  2. 超越其他IDE的代码补全
  3. 跳转到python标准库,第三方库以及自己定义的函数
  4. 格式化你的代码符合PEP8规范
  5. 编辑器的设置,让你写出符合PEP8标准的python代码
  6. 平滑的git集成与git命令行工具一起工作
  7. sublime 命令行工具的设置即使用
  8. 自定义配置颜色,让自己的代码看起来更漂亮,更易读
  9. sublime 插件的安装
  10. ......

注意:为了防止新安装的插件没有生效,可以每次安装完成后重启一下sublime

安装Sublime

通过下图所示的地址下载并安装,我的安装环境是win7 64位 sp1

安装完成之后第一次打开应该如下图所示,表示没有注册,有能力的还是支持一下正版的好

如未激活,在下面插件将无法安装。激活码如下:


----- BEGIN LICENSE -----
sgbteam
Single User License
EA7E-1153259
8891CBB9 F1513E4F 1A3405C1 A865D53F
115F202E 7B91AB2D 0D2A40ED 352B269B
76E84F0B CD69BFC7 59F2DFEF E267328F
215652A3 E88F9D8F 4C38E3BA 5B2DAAE4
969624E7 DC9CD4D5 717FB40C 1B9738CF
20B3C4F1 E917B5B3 87C38D9C ACCE7DD8
5F7EF854 86B9743C FADC04AA FB0DA5C0
F913BE58 42FEA319 F954EFDD AE881E0B
------ END LICENSE ------

下载“Package Control” Package Manager

Sublime 有很多插件,这些插件为我们写python代码提供了非常强大的功能,这些插件需要单独安装。
而安装这些插件最方便的方法就是通过Package Control的插件,这其实就是一个插件管理器,帮助我们从Sublime中安装,升级和移除插件,这样对于我们管理插件来说是非常方便的,安装好它之后在通过它来安装其他插件
点击Tools 菜单下的Install Package Control 就可以了

当出现如下图提示时,表示安装完成
如果想要使用需要重启一下Sublime,然后通过快捷键ctrl+shift+p 或者通过点击Tools菜单下的
CommandPalette 弹出如下图:

这样到这里Sublime的基本安装是完成了

设置Python环境

设置python的代码分析工具

这个工具有以下功能:

  1. 分析语法错误
  2. 分析代码结构问题,如:使用没有定义的变量
  3. 分析不符合规范和美观的代码

所以当这个工具被很好的集成在Sublime中的时候,对自己写代码会有非常大帮助
下面通过把Flake8和Sublime集成起来,而Flake8是非常好的一个工具在python中
速度非常快,误报率低,用它来做代码分析检查是非常合适的

Flake8是一个需要独立安装的命令行工具
在安装Flake8之后,再为Sublimean安装SublimeLinter和SublimeLinter-flake8插件

Install Flake8

pip install flake8

安装完成之后通过flake8 --help可以看到如图所示:

如果后面需要升级这个插件只需要通过命令:
pip install --upgrade flake8

Install SublimeLinter

SublimeLinter是Sublime的代码框架,它可以集成Flake8这样的linter引擎来检查我们的代码,
并可以把它们的消息转换成Sublime Text然后把它们显示在我们代码旁边。
SublimeLinter 可以让Flake8和Sublime Text成为一个非常完美的搭档,可以直接在代码编辑器里看到Flake8的消息。
所以首先我们需要安装SublimeLinter,然后我们将安装连接Flake8和SublimeLinter的SublimeLinter-flake8

1.通过ctrl+shift+p 进入如下图,并输入 install Package,然后回车 

初次会慢点,然后提示如下图:

输入我们要安装的:SublimeLinter,选择如图所示进行安装:

提示如下图所示表示安装完成

Install SublimeLinter-flake8
现在需要将SublimeLinter和Flake8集成连接起来,这里就通过SublimeLinter-flake8插件来完成
同样的,和上一个插件安装方法类似也是通过ctrl+shift+p 进入如下图,并输入Flake8。此处如未激活,无法找到flake8。

当出现如上图提示是表示安装完成,这个时候需要我们Sublime重启后生效,然后我们打开可以写一个py文件
写了一个打印hello,World,我们从右下角就可以看出

从上图的提示我们可以看出,我们的插件已经在起作用了,提示的错误是:在这个文件没有回车到新的一行
虽然现在已经生效了,但是为了让它更好用我们还需要对
SublimeLinter-flake8做一些简单的配置

配置SublimeLinter-flake8

先看一下当出现错误的时候的提示:

其实这种错误提示可能不是很友好,会在错误部分外面有个框,在其他IDE中可以能是在错误代码下有
红色下划线表示的,如果习惯了那种显示方式可以通过下面方法配置

看到如上图所示时,把左边的配置全部拷贝到右边的配置里并把开头的default更改为user
然后把配置中 "mark_style": "outline",更改为:"mark_style":“squiggly_underline”
更改后的效果如下:

在配置中找到"lint_mode": "background"更改为:"lint_mode": "load_save"

代码自动补全功能

很多程序员选择IDE工具的时候都希望他的自动补全功能能好用点,而Sublime 一开始并没有非常好用的插件,直到出现了Anaconda插件
它提供了一下功能:
1. 代码的自动补全
2. 显示python类,方法或者函数的使用方法
3. 检查导入模块是否有效
4. 按照PEP8规范自动化格式我们的代码
5. 可以跳转到函数的定义或者类的定义
6. .....

Install the Anaconda Package

和上面安装讲的安装插件的方法一样

出现如上图提示表示安装完成,重启生效
当然我们还是需要进行一些简单配置:

配置如下图所示内容

{
"anaconda_linting": false,
"pep8": false
}
上述的配置是因为这个插件和flake8插件的功能相互冲突,这里最好使用flake8的配置就可以了

我们可以测试它的一些功能:
当我们输入print的时候就会显示出参数及文档

这里还包括了很多功能不再一一演示,功能使用都在:

 

这个插件有很多实用的功能可以自己详细看看并使用

配置git环境

首先要确保自己的电脑已经安装了git
如果没有安装,需要去这里下载:https://git-scm.com/download/win
安装过程如下:

 

对自己的git环境进行基本的配置:
git config --global user.email "yourname@yourdomain.com"
git config --global user.name "Firstname Lastname"

git config --global --list 命令可以查看上面的配置

安装git插件GitGutter

安装过程和之前安装其他插件的方法一样:

 

安装这个插件的作用是为了让我们更好的和git联合在一起,如:在公司里你从git上拉了同时的代码,然后你在上面做更改,这个时候当然你可以过git diff命令查看你修改了哪些地方,但是如果我们通过这个插件直接可以在代码里体现出来,如下图,图一是我从git上随便clone了一个代码,然后操作修改

 

从上图中我们能够很清楚的知道我们添加了哪些代码,同样的删除哪些代码,修改哪些代码都会有相应的提示

让这个功能不止这些,通过下面例子演示:
git init test-repo
cd test-repo
echo hello world > myfile.txt git add myfile.txt
通过上面命令添加一个test-repo仓库,然后写了一个文件

正常如果我们提交肯定是git add .然后git commit出现如下图:

 

 

这里可以通过Esc然后:q键退出
其实这里我们可以让每次commit的时候打开sublime,在sublime编辑里写提交信息,这样会更加方便,配置如下:
git config --global core.editor “‘C:\Program Files\Sublime Text 3\subl.exe’ –wait –new-window” 

这样当我们再次commit的时候就是如下图效果:

 

 现在如果信息过长就会看起非常不方便
Git Commit Message Syntax 插件安装

这个插件安装好后不会有提示,重启一下sublime

外观的配置

关于字体

在如下图所示的地方下载字体

 

 

 

 

 

可以选择字体之后直接右键安装

配置内容如下:
修改Preferences中的settings

添加内容有:
"font_face": "Ubuntu Mono",
"font_size":14,
"font_options": [ 
"directwrite",
"subpixel_antialias"
],
"font_options": [ 
"directwrite",
"subpixel_antialias", 
"no_bold", "no_italic"
],
"caret_style": "solid", 
"wide_caret": true, 
"highlight_line": true,
"draw_white_space": "all", 
"indent_guide_options": [
"draw_active"
],
"line_padding_bottom": 1, 
"line_padding_top": 2,
"fold_buttons": false,
"scroll_past_end": true,
"shift_tab_unindent": true,

上面这些修改之后还有一个重要的修改,让你的ide看起更加好看

安装Tomorrow Color Schemes插件

安装SoDaReloaded插件

 

 

 安装完成后配置Preferences → Settings
配置如下:
"theme": "SoDaReloaded Dark.sublime-theme",
然后做如下操作:

 

 

 

 

 

选择标注的主题色,最后效果如下:

 

 

配置PEP8规范

 

 

 

配置内容如下:
"tab_size": 4, 
"translate_tabs_to_spaces": true,
"trim_trailing_white_space_on_save": true, 
"ensure_newline_at_eof_on_save": true,
"rulers": [ 
72,
79
],
"word_wrap": true,
"wrap_width": 80

这样配置好后,我们写代码的长度就有限制,超过了就会自定换行,如下图:

 

关于文件管理插件安装

默认情况下如果我们在左边的文件直接右键只能看到如此简陋的操作,如果想要更加丰富,则需要安装插件

 

 

 当安装完成后:

 

 

 

需要配置perferences -> settings

"file_exclude_patterns":[
"*.pyc",
"*.pyo",
"*.exe",
"*.dll",
"*.obj",
"*.o",
"*.a",
"*.lib",
"*.so",
"*.dylib",
"*.ncb",
"*.sdf",
"*.suo",
"*.pdb",
"*.idb",
".DS_Store",
"*.class",
"*.psd",
"*.db",
"*.sublime-workspace"
],
"folder_exclude_patterns": [
".svn", 
".git",
".hg", 
"CVS", 
"__pycache__"
]

安装Zen Tabs插件

 

安装完成后做做如下配置: 

 

 

 

配置内容为:
"open_tab_limit": 5,
"hightlight_modified_tabs": true,
"show_full_path": false,

到此所有的配置完成!

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

<think>好的,用户想寻找自动生成Python测试代码的方法或工具,特别是如何使用DeepSeek或其他工具来实现。首先,我需要回顾一下现有的工具和方法,然后结合用户提供的引用内容来回答。 首先,用户提到的引用[2]中提到了Selenium自动化测试和Python知识,这可能是一个方向。另外,引用[3]提到使用DeepSeek R1大模型生成量化交易代码,这说明用户可能对利用AI生成代码感兴趣。 接下来,我需要整理自动生成Python测试代码的几种常见方法: 1. **基于模板的工具**:比如unittest和pytest,这些框架本身支持通过夹具和参数化测试生成重复的测试用例,可能可以结合工具生成基础测试结构。 2. **AI辅助工具**:如DeepSeek、GitHub Copilot,这些可以通过自然语言描述生成测试代码。例如,用户输入函数的功能,AI生成对应的测试用例。 3. **Selenium IDE**:对于Web自动化测试,Selenium IDE可以录制操作并导出Python代码,适合功能测试的生成。 然后,结合用户提到的DeepSeek,需要具体说明如何操作。引用[3]中提到需要自建知识库,让DeepSeek根据知识库生成代码。因此,用户可能需要准备测试相关的示例代码或文档,作为知识库输入,然后指导DeepSeek生成测试代码。 另外,用户可能需要了解如何使用这些工具的具体步骤,比如安装、配置,以及如何编写有效的提示词。例如,使用DeepSeek时,需要明确描述被测函数的行为、输入输出,以及期望的测试场景。 还需要考虑用户可能的实际需求,比如单元测试、集成测试或UI测试,不同的测试类型可能需要不同的工具和方法。例如,单元测试可以用unittest或pytest,UI测试用Selenium,而接口测试可能需要Postman或Requests库的配合。 最后,要确保回答结构清晰,分步骤说明每种方法,并给出示例代码或操作步骤,同时引用相关的参考资料,如引用[2]中的测试相关内容,引用[3]中的DeepSeek应用案例。 可能还需要提醒用户注意生成的代码需要人工审核和调整,确保正确性和覆盖所有测试场景,避免完全依赖自动化工具。</think>### 如何用DeepSeek或其他工具自动生成Python测试代码 #### 一、使用AI工具生成测试代码(以DeepSeek为例) 1. **准备知识库** - 将待测试的Python函数代码、接口文档或业务逻辑文档整理为结构化文本[^3] - 示例知识库内容: ```python # 被测函数示例 def add(a: int, b: int) -> int: return a + b ``` 2. **编写生成指令** 通过自然语言描述测试需求: ```markdown 请为以下Python函数生成单元测试代码,要求: 1. 使用pytest框架 2. 包含正常值、边界值和异常值测试 3. 添加中文注释 ``` 3. **生成结果示例** ```python import pytest # 测试正常值场景 def test_add_normal(): assert add(2, 3) == 5 # 正数相加 assert add(-5, 8) == 3 # 负数与正数相加 # 测试边界值场景 def test_add_boundary(): assert add(0, 0) == 0 # 零值相加 assert add(2147483647, 1) == 2147483648 # 大整数相加 # 测试异常输入 def test_add_invalid_input(): with pytest.raises(TypeError): add("2", 3) # 类型错误检测 ``` #### 二、使用Selenium IDE生成Web测试代码[^2] 1. **录制操作** - 安装Chrome插件`Selenium IDE` - 点击录制按钮后操作网页 2. **导出Python代码** ```python from selenium import webdriver def test_login(): driver = webdriver.Chrome() driver.get("https://example.com/login") driver.find_element("id", "username").send_keys("testuser") driver.find_element("id", "password").send_keys("123456") driver.find_element("css selector", ".submit-btn").click() assert "Dashboard" in driver.title ``` #### 三、基于模板的测试生成(pytest参数化) ```python import pytest # 参数化测试数据 @pytest.mark.parametrize("a,b,expected", [ (2, 3, 5), (0, 0, 0), (-1, 1, 0) ]) def test_add_with_params(a, b, expected): assert add(a, b) == expected ``` #### 四、最佳实践建议 1. **代码审查**:AI生成的代码需人工验证逻辑完整性 2. **持续集成**:将生成的测试代码接入Jenkins/GitHub Actions 3. **覆盖率检查**:使用`coverage.py`确保测试覆盖率达标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值