Pycharm使用技巧(转载)
Pycharm使用技巧(转载)
转载自:http://www.cnblogs.com/cloudtj/articles/5980666.html
pycharm使用技巧
https://python.freelycode.com/contribution/detail/29
https://python.freelycode.com/contribution/detail/30
https://python.freelycode.com/contribution/detail/31
-----------------------------------------------------------------------------
破解
https://mp.weixin.qq.com/s/giBGvL7EQeuEbSKjrCISpQ
https://www.lookdiv.com/index/index/indexcodeindex.html
破解注册码:http://idea.lanyus.com/
https://www.cnblogs.com/mosson/p/10248395.html
f
-----------------------------------------------------------------------------
0.先安装python解释器
Linux不需要安装,默认自带,Windows需要安装,当前最新版本是2.7和3.6
下载地址:https://www.python.org/downloads/windows/
https://www.python.org/downloads/release/python-2713/
默认安装位置:C:\Python27\
记得把环境变量勾选上
--------------------------------------------------------------------------------------------------------
1.在Pycharm下为你的Python项目配置Python解释器
View-》Toolbar和Tool Buttons
Project:当前项目名>Project Interpreter>add Local
或者
file->setting
Project :pyproject1-》Project Interpreter
如果当前电脑安装了3.6和2.7两个python,如果项目是用3.6来编写的,就要选择3.6作为解析器
----------------------------------------------------------------------------------------------------
2.在Pycharm下创建Python文件、Python模块
File>New>Python File
File>New>Python Package
-----------------------------------------------------------------------------------------------
3.使用Pycharm安装Python第三方模块
Project:当前项目名>Project Interpreter>点击右侧绿色小加号
PyPI - the Python Package Index --python包索引
pip install
第三方模块安装位置:C:\Python27\Lib\site-packages
Linux:
/usr/lib/python2.6/site-packages
/usr/lib64/python2.6/site-packages/
alt+enter自动安装第三方包
搜索并安装第三方模块
选择模块的版本
仓库来源,实际连接的是:https://pypi.python.org/simple/
从网上下载,电脑必须能上网
安装位置:C:\Python27\Lib\site-packages
---------------------------------------------------------------------------------------------------
4.Pycharm基本设置,例如不使用tab、tab=4空格、字体、字体颜色、主题、脚本头设置、显示行号等。如何导出和导入自定义设置。
不使用tab、tab=4空格:Editor -> Code Style -> Python
缩进四个空格,不管在哪个操作系统,哪个IDE都不会有问题,tab可能在其他操作系统缩进会有问题,tab在python3会报错,在python2不会报错
use tab character和smart tabs的勾去掉,然后下面是4 ,4, 8
字体、字体颜色:
Appearance & Behavior ->Appearance-> Theme : Darcula
Editor -> Colors & Fonts ->Font
Primary font:Courier New ,Size:14
关闭自动更新:Appearance & Behavior ->System Settings ->Updates
脚本头设置:Editor ->File and Code Templates ->Python Script 注:其他类似
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Author : huazai # @Time : ${DATE} ${TIME} # @File : ${NAME}.py # @Description : # @comment :
显示行号:Editor -> General -> Appearance -> Show line numbers 注:2016.2默认显示行号
右侧竖线是PEP8的代码规范,提示一行不要超过120个字符
导出、导入你自定义的配置
导出的配置里包括你安装了哪些插件
File -> Export Settings、Import Settings
f
pycharm2021
导出、导入你自定义的配置: File -》Manage IDE Settings-》Export Settings、Import Settings
f
用xml文件保存配置
-------------------------------------------------------------------------------------------------------------
5.常用快捷键,例如复制当前行、删除当前行、批量注释、缩进、查找和替换。
常用快捷键的查询和配置:Keymap
Ctrl + J:插入常用代码(列表重写、元组重写、集合重写、字典重写、if __name__ == '__main__':) !!!!!!!!!!!
Ctrl + D:Ctrl + C和Ctrl + V的合体
Ctrl + C:复制当前行
Ctrl + X:剪切当前行
Ctrl+t SVN更新
Ctrl+k SVN提交
Ctrl + /:快速注释(选中多行后可以批量注释)
Ctrl + F:查找当前文件的内容
Ctrl + P :参数信息(在方法中调用参数)
Ctrl + R:替换
Ctrl + Alt +L:格式化代码!!!!!!
Ctrl+Enter 补全!!!!!!!!
Ctrl+Shift+j:两行合并为一行,并且去除空格!!!!!!
Ctrl+Shift+Alt:垂直选择列!!!!!!!!
Ctrl+Shift+F:查找整个项目的内容!!!!!!!!!!
Alt+Enter 自动添加包 !!!!!!!!!
Tab:缩进当前行(选中多行后可以批量缩进)!!!!!!!!
Shift + Tab:取消缩进(选中多行后可以批量取消缩进)
Shift+Shift:查找所有python代码,所有内置库和第三方库和自己的项目
Shift + Enter:快速换行
有8个命令超级常用
调试
F7:进入调用函数
F8:下一步
F9:恢复程序,退出调试模式
代码行实时显示信息
keymap更改快捷键
格式化代码
将QQ的锁定QQ改为ctrl+alt+home
在pycharm里面按ctrl+a 选中全部代码
Ctrl + Alt +L 格式化代码
执行选中【区域的代码】
垂直/水平拆分窗口
--------------------------------------------------------------------------------------------------------------------
6.Pycharm安装插件,例如Markdown support、数据库支持插件等。
Plugins -> Browse repositories -> 搜索‘markdown support’ -> install
右上角View有三个选项可选,一般我们都用中间那个左侧编写,右侧实时预览
智谱AI
CodeGeeX在Visual Studio Code、JetBrains IDEs全家桶
CodeGeeX
清华大学和智谱AI公司开发
kite 增强pycharm自动完成功能
集成AI 机器学习,加速开发者开发速度
https://kite.com/
settings-》plugins-》browser repositorys
f
f
f
管理mongodb的插件
-----------------------------------------------------------------------------------------------------
7.版本控制
支持本地版本管理(pycharm自带)和版本管理系统,VCS:version control system
查看修改记录,回滚记录, Local History能够查看文件修改前后的对比
集成svn
-----------------------------------------------------------------------------------------------------------------
8.常用操作指南。例如复制文件路径、在文件管理器中打开、快速定位、查看模块结构视图、tab批量换space、TODO的使用、Debug的使用。
复制文件路径:左侧文件列表右键选中的文件 -> Copy Path
在文件管理器中打开:右键选中的文件 -> 往下找到Show In Explorer
快速定位:按住Ctrl +鼠标左键点击 ,点击在源文件中展开类,函数,方法等的定义
查看结构:IDE左侧边栏Structure 查看当前项目的结构
tab批量换space:Edit -> Convert Indents
TODO的使用:# TODO 将要补充的代码和文本
Debug设置断点,直接点击行号与代码之间的空白处即可设置断点
本地历史版本对比: Tab页上右键 -> Move Right(Down),把当前Tab页移到窗口右边(下边),方便对比
IDE右下角能看到一些有用的信息,光标当前在第几行的第几个字符、当前回车换行、当前编码类型、当前缩进方式、当前所用解释器、当前所在的父目录、当前Git分支
IDE右侧边栏 -> Database
--------------------------------------------------------------------------------------
9.去掉烦人的波浪线
单独一行的注释:#+1空格+注释内容
代码后跟着的注释:2空格+#+1空格+注释内容
保持良好的统一的编程风格是十分重要的。
Google上面有很多关于各种语言的编程规范指导,Python也有自己的一些编程规范,
PyCharm也会按一定的规范(比如PEP8)来检查编辑器中的代码。
这里的编程风格有代码编写格式层面的也有代码逻辑组织层面的。
https://github.com/iwhgao/zh-google-styleguide/blob/master/google-python-styleguide/python_language_rules.rst
https://github.com/iwhgao/zh-google-styleguide/blob/master/google-python-styleguide/python_style_rules.rst
黄色波浪色不合规范
绿色波浪线符合规范
示例
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#__author__ = "huazai"
"""
pycharm使用指南
Date:2016.08.12
"""
def test(num)
"""
test function
"""
for i in range(num): # 代码后面的注释
j=i+1
if j%2 ==0
print j
# 单独一行注释
else:
print "The end"
if __name__=="__main__":
test(10)
----------------------------------------------------------------------------------------
10.SSH Terminal: Default encoding:UTF8
Settings -> Tools -> SSH Terminal -> 最后一行Default encoding:选择UTF-8
10.给脚本传入参数
Run -》edit configuration-》script parameters 输入参数
参数之间用空格 隔开
如果不用pycharm,那么在cmd也就是终端Terminal下要自己输入参数
https://www.jb51.net/article/255031.htm
Pycharm中运行程序在Python console中执行,不是直接Run
1、进入修改页面
2、复选框勾选
Pycharm中的Python console用法,交互模式
f
f
f
Terminal叫做终端,SSH Terminal ,连接Linux远程终端,即命令行模式(命令行模式与系统的CMD(命令提示符)一样,可以运行各种系统命令);
Python Console叫做Python控制台,即Python交互模式(Python交互模式主要有两种:CPython用>>>作为提示符,而 IPython用In [序号]:作为提示符,jupyter note book)。
Python交互式模式可以直接输入代码,然后执行,并立刻得到结果,因此Python交互模式主要是为了调试Python代码用的。
import pdb
pdb.set_trace()
在哪里加上这句话,程序运行到那里就会暂停,相当于加断点
12.代码测试
Pycharm支持代码测试,你可以:
创建测试代码
自定义测试参数或配置
运行测试代码
导出测试结果
Pycharm支持所有主流的Python测试框架:
Unittest
Doctest
Nosetest
py.test
首先在settings|Tools|Python Integrated Tools中选择default testsrunner 为unittest,如下图所示:
然后在我们前面的Car.py文件的Car类的代码处,右键选择Go To,再选择Test(或者直接Ctrl+Shift+T),如下图所示:
这样会弹出一个选择窗口:
选择create New Test,再选择test_accelerate和test_brake,点击Ok,如下所示:
Pycharm会自动生成一个新的名为test_car.py的测试脚本,如下图 所示:
如果运行该脚本Run ‘Unittest in test_car’,默认会得到失败的结果,如下图:
如何编写单元测试,不是本文的内容,我们假设已经有了下面的测试代码:
import unittest from Car import Car class TestCar(unittest.TestCase): def setUp(self): self.car = Car() class TestInit(TestCar): def test_initial_speed(self): self.assertEqual(self.car.speed, 0) def test_initial_odometer(self): self.assertEqual(self.car.odometer, 0) def test_initial_time(self): self.assertEqual(self.car.time, 0) class TestAccelerate(TestCar): def test_accelerate_from_zero(self): self.car.accelerate() self.assertEqual(self.car.speed, 5) def test_multiple_accelerates(self): for _ in range(3): self.car.accelerate() self.assertEqual(self.car.speed, 15) class TestBrake(TestCar): def test_brake_once(self): self.car.accelerate() self.car.brake() self.assertEqual(self.car.speed, 0) def test_multiple_brakes(self): for _ in range(5): self.car.accelerate() for _ in range(3): self.car.brake() self.assertEqual(self.car.speed, 10) def test_should_not_allow_negative_speed(self): self.car.brake() self.assertEqual(self.car.speed, 0) def test_multiple_brakes_at_zero(self): for _ in range(3): self.car.brake() self.assertEqual(self.car.speed, 0)
现在,在脚本的最顶处,右键运行测试程序,可以看到有一些测试通过了:
Pycharm可以自动运行测试代码,你只需要做两件事:
点击运行工具栏中的Toggle(绿色三角箭头下的第二个,两个灰框,有循环箭头的图标),激活自动测试功能
点击工具栏中的蓝色齿轮图标,选择Set Autotest Delay,然后选择延迟时间。
这样,每当你对代码修改后,在规定的延迟时间后,都会自动运行测试代码,如下图所示:
pycharm测试工具
C:\Program Files\JetBrains\PyCharm 2017.2.4\helpers\pycharm\_jb_unittest_runner.py
部署代码到远程服务器(远程同步(上传,下载,同步),远程调试)
pycharm版本:2018.3
远程机器Python:Python2.7.5
远程机器系统:centos7.5
有两种方法
1、在新建project的时候,选择远程python解释器,选择好远程python解释器之后会弹出设置同步代码路径的界面,第一种方法基本不用,只用第二种
2、已经建好project,选择远程python解释器和远程部署设置
两种方法都会在本地保留代码,也就是本地一份代码,远程一份代码
第二种方法
添加远程py解释器.
f
这里一定要选择new server configuration,而不是existing server configuration
existing server configuration是之前建过远程部署,然后无论选择move this server to IDE settings还是create this server to IDE settings都会失败,无法远程调试,所以千万不能预先建远程部署
f
如果能连上远程机器,会自动识别远程机器的Python可执行文件,如果有多个Python解释器,需要自己按需选择
远程机器的同步目录会自动设置在/tmp/目录下,项目文件夹名的数字是随机的
不要勾选自动同步本机项目文件到远程机器
自动读取远程机器的Python解释器安装的包
f
在部署配置界面,会自动帮你配置好远程机器的部署方式sftp,部署路径
f
自动设置好映射路径
部署路径 跟 添加解释器那个界面的 sync folders一致
local path,默认显示本项目所在本地路径
deployment path,设置代码同步到远程机器的哪个目录路径下,如果没有该路径则pycharm会自动帮你新建
web path ,不需要改,默认即可
实际上映射路径是: connecttion选项卡里的root path + mappings选项卡里的deployment path on server 'sftp连接名'
如果设置了connecttion选项卡里的root path 是/data/, mappings选项卡里的deployment path on server 'sftp连接名'是/data/
那么两个选项卡加起来就会报错,变成/data/data/ ,实际上用户要的是/data,那么connecttion选项卡里的root path 不用改它,保持/根分区
mappings选项卡里的deployment path on server 'sftp连接名'里写/data, ,表示/data是在connecttion选项卡里的root path 的路径下的也就是根分区路径下
f
要调试哪个项目文件,就把那个文件上传到远程机器,右键-》deployment-》upload to...
f
选择正确的远程机器
f
f
这时候可以右键-》直接运行/调试那个项目文件
f
一旦运行/调试了该文件,pycharm会自动生成该文件的运行配置,而且在运行/调试配置里面自动选择远程机器的py解释器
f
f
完成,后面的操作跟本机的调试/运行无啥区别,修改了本机的项目文件每次记得手动同步到远程机器再运行,反正按情况考虑是否需要勾选自动同步到远程机器
tools-》deployment-》options
f
f
project
打开文件夹名就是project名,所以文件夹名要起好,在创建Django的project的时候不能用路径名!!
pycharm只有project概念,没有solution概念
一个project下面可以有多个content root,content root就是一个文件夹,一个content root一般有一个main.py,
main.py里面有if __name__ == '__main__':
如果一个文件夹不是content root,那么无法加载__init__.py文件
http://www.jetbrains.com/help/pycharm/2017.1/content-root.html
http://www.jetbrains.com/help/pycharm/2017.1/configuring-content-roots.html
一个project下面可以有多个module,module就是一个文件夹,module不需要main.py
1、加多个content root(不建议使用这种)
整个project 只有一个module,这个module有两个content root
f
f
f
f
f
2、加多个module(建议使用这种)
整个project 有两个module,每个module是单独一个content root
f
f
f
f
f
f
f
3、新建project时候,直接在文件夹根目录导入
这种方法不可行
f
f
f
f
如果是新建项目
1、先建一个项目文件夹
2、选择:create new project,然后选中新建的文件夹
3、选择pure python项目,然后创建
4、content root就是school项目本身
f
5、然后在项目文件夹下新建文件,模块文件夹等
f
6、加入其它module
f
新建项目的时候
f
打开项目文件夹的时候
f
python包
f
因为content root的关系,我们不能把项目根目录文件夹作为base directory,只能把根目录里面的某个module作为base directory,
所以无论是新建一个项目,还是打开一个项目,都只能
1、在新建时候选择项目根目录里的某个module来新建一个项目
2、打开时候,也是只能打开项目根目录里的某个module
而项目名称就是根目录里的某个module的文件夹名称作为项目名称
f
打开多个pycharm实例
pycharm进程至此至终只有一个exe,在任务管理器里看
new window
File -> open…选择最近打开过的项目
弹窗提示 就选 New Window
两个pycharm窗口完全独立,svn这些功能不受影响
https://blog.csdn.net/qq_39148947/article/details/82594824
pycharm Unresolved attribute reference 'objects' for class 问题
这是Cpython编译器的问题,一般不影响代码的顺利执行,就不用管它
pycharm下用git提交代码并做下面的检查和优化
流程:代码格式化-》lint规则检查-》import优化-》清理unused代码-》GPG git签名
新一代 Python Linter 工具 Ruff
https://zhuanlan.zhihu.com/p/595037918
PyCharm Professional Edition包含对本地JupyterNotebook 的支持,但是 还不支持远程JupyterNotebook 和 JetBrains新出的DataSpell 的其他功能
DataSpell 没有 Web 开发功能
DataSpell 是2021年推出的专为【数据科学】定制的IDE
数据科学
PyCharm 设置SciView工具窗口的方法
1、下载安装好PyCharm 专业版后打开或者新建一个Python项目,找到View导航栏
在Tool Windows下可以找到SciView按钮,但是每次打开PyCharm都得点击一次,比较麻烦。
你可以看到View下面有个Scientific Mode,勾选上后,SciView就会在右侧导航栏里出现。
2、如果不想matplotlib在SciView窗口出现,可以在Settings | Tools | Python Scientific | Show plots in toolwindow去掉勾选就可以了
注意:没有勾选Scientific Mode,在Settings| Tools |下面是找不到Python Scientific。
如果加了多个python包源,那么搜索python包时候,会搜索多个python包源
pycharm里新建Django项目
Django项目依赖的虚拟环境,会复制父python解释器,这个base 解释器不能删除!!!
否则,依赖这个base 解释器的所有虚拟环境都不能运行!!!
阅读器模式不会检查语法问题
PyCharm 2024.1.1 来了
https://blog.jetbrains.com/pycharm/2024/04/pycharm-2024-1-1/
功能一
JetBrains AI Assistant 现已在 PyCharm 社区版 2024.1.1 版本中推出!凭借从智能建议到代码生成等功能,现在社区版用户还可以使用 AI Assistant 增强他们的编码之旅。
功能二
endpoint工具窗口的改进
使用PyCharm 2024.1.1 中改进的endpoint工具窗口更快、更高效地搜索 URL 。
使用Search Anywhere中的专用endpoint选项卡可将所有endpoint按应用程序分组并显示其路由。
开发restful api会用到
功能三
针对数据科学家
DataFrame统计和分布直方图
直接在 Jupyter 笔记本和 Python 脚本的 DataFrame 标头中查看基本统计信息。
通过 DataFrame 标头中提供的直方图即时了解数据的分布情况。
f
f