pycharm基本使用与远程连接
视频见:https://www.bilibili.com/video/av54728208
pycharm远程连接见:https://blog.csdn.net/lin_danny/article/details/82185023
1 前言
1.1 计算机系统组成
- cpu:处理指令(比如点击鼠标)和运算数据
- 内存:存储cpu要处理的数据,从硬盘中读取,读取速度快,处理好后再存入硬盘
1.2 Python介绍
Python是时下最流行、最火爆的编程语言之一,具体原因如下:
1、简单、易学,适应人群广泛
2、免费、开源
3、应用领域广泛
备注:以下知名框架均是Python语言开发。
- Google开源机器学习框架: TensorFlow
- 开源社区主推学习框架:Scikit-learn
- 百度开源深度学习框架:Paddle
Python发展历史:https://baike.baidu.com/item/Python/407313?fr=aladdin
Python版本:
Python 2.X
Python 3.X
- Python 3.5
- Python 3.6
- Python 3.7
注意:课程讲解3.7。
总结:Python优点
- 学习成本低
- 开源
- 适应人群广泛
- 应用领域广泛
Python学习版本:3.7
2 解释器
2.1 解释器的作用
Python解释器作用:运行文件。相当于翻译官角色,在程序员编写的代码与计算机0,1之间翻译。
Python解释器种类
1、CPython,C语言开发的解释器 [官方],应用广泛的解释器。
2、IPython,基于CPython的一种交互式解释器。
3、其他解释器
- PyPy,基于Python语言开发的解释器。
- Jython,运行在 Java平台的解释器,直接把 Python代码编译成Java字节码执行。
- IronPython,运行在微软 .Net平台上的Python解释器,可以直接把 Python代码编译成.Net的字节码。
课程中使用的解释器:CPython
2.2 下载与安装Python解释器
下载地址:https://www.python.org/downloads/release/python-372/
[单击上述链接] – 查找目标文件: Windows x86-64 executable installer – 单击即可下载。
安装Python解释器:
双击可执行文件 — 勾选[pip] – [Next] – [勾选添加环境变量] – [Install],按提示操作即可。
总结:
- 解释器的作用:运行文件
- 解释器环境:先下载后安装
3 PyCharm基本设置
3.1 PyCharm的作用
PyCharm是一种 Python IDE(集成开发环境),带有一整套可以帮助用户在使用 Python语言开发时提高其效率的工具,内部集成的功能如下:
- Project管理
- 智能提示
- 语法高亮
- 代码跳转
- 调试代码
- 解释代码(解释器)
- 框架和库
- …
PythonCharm分为专业版(professional)和社区版(community),专业版可以远程连接服务器。
3.2 下载和安装
下载地址:http://www.jetbrains.com/pycharm/download/#section=windows
注意:这里选择 Community(社区版)下载,专业版是收费版本,社区版可以满足我们基础编程需求。
安装:
双击安装包 – [运行 ] – [允许你应用更改设备 ]: [是] – [Next] – [选择安装位置] – [Next] – [Install] --[Finish]。
3.3 PyCharm基本使用
3.3.1 新建项目
打开PyCharm – [Create New Project] – 选择项目根目录和解释器版本 – [Create],即可完成新建一个项目。
3.3.2 新建文件
项目根目录或根目录内部任意位置 — 右键 – [New] – [Python File] – 输入文件名 – [OK]
如果是将来要上传到服务器的文件,那么文件名切记不能用中文。
3.3.3 运行文件
文件打开状态 – 空白位置 — 右键 – Run – 即可调出Pycharm的控制台输出程序结果。
3.4 PyCharm的基本设置
[file] – [Settings]/[Default Settings](设置)。
3.4.1 修改主题
[Appearance & Behavior] – [Appearance](界面外观)
- Theme:修改主题
- Font:修改主题字体
- Size:修改主题字号
3.4.2 修改代码文字格式
[Editor] – [Font]
- Font:修改字体
- Size:修改字号
- Line Spacing:修改行间距
3.4.3 修改解释器
[Project: 项目名称 ] – [Project Interpreter] – [设置图标] – [Add] – 浏览到目标解释器 – [OK] --[OK]
3.4.4 项目管理
3.4.4.1 打开项目
[File] – [Open] – 浏览选择目标项目根目录 – [OK] – 选择打开项目方式。
打开项目的方式共三种,分别如下:
1、This Window:覆盖当前项目,从而打开目标项目
2、New Window:在新窗口打开,则打开两次PyCharm,每个PyCharm负责一个项目。
3、Attach
3.4.4.2 关闭项目
[File] – [Close Project]/[Close Projects in current window]
3.4.4.3 默认路径注意事项
pycharm默认会把项目根目录添加到sys.path里面。
python import包时,要从sys.path里面的目录里去扫相应的包。
4 PyCharm应用
4.1 Debug
所谓bug,就是程序中的错误。如果程序有错误,需要程序员排查问题,纠正错误。
4.1.1 Debug工具
Debug工具是 PyCharm IDE中集成的用来调试程序的工具,在这里程序员可以查看程序的执行细节和流程或者调解bug。
Debug工具使用步骤:
- 打断点
- Debug调试
4.1.2 打断点
1、断点位置:目标要调试的代码块的第一行代码即可,即一个断点即可。
2、打断点的方法:单击目标代码的行号右侧空白位置。
4.1.3 Debug调试
打成功断点后,在文件内部任意位置 — 右键 – Debug’文件名 '— 即可调出Debug工具面板 – 单击Step Over/F8,即可按步执行代码,注意代码是运行到打断点的位置之前。
Debug输出面板分类
- Debugger:显示变量和变量内容的细节
- Console:输出内容
4.1.4 Debugger识别
4.1.4.1 列表
tags_actual = [['O', 'O', 'O', 'O', 'O', 'O', 'B-PER.NAM', 'I-PER.NAM', 'O', 'O', 'O', 'O', 'O', 'O', 'O'], # 1个实体['O', 'B-PER.NAM', 'I-PER.NAM', 'I-PER.NAM', 'O', 'O', 'B-PER.NAM', 'I-PER.NAM', 'O', 'O'] # 2个实体,10个元素]
可以看出,tags_actual为双层列表,外层两个元素用0和1表示,里层10个元素用00-09表示。tags_predict为单层列表。每个列表最后一行都有一个len值。红色矩形框表示所属对象,这里tags_actual和tags_predict都是列表对象。
4.1.5 文件中只有一个类进行debug
例如metrics.py
文件以及调用它的test_metrics.py
文件。
metrics.py
import copy
import itertools
import reclass EntityScore(object):@staticmethoddef single_entity_score(tags_predict, tags_actual):assert isinstance(tags_predict[0], list) and isinstance(tags_actual[0], list) # 确保是内层是个list# 2维的拍平到1维,便于计算tags_predict = list(itertools.chain(*tags_predict))tags_actual = list(itertools.chain(*tags_actual))...# 统计准确率、召回率、F1precision = float(correct_num) / predict_num if predict_num else 0.recall = float(correct_num) / actual_num if actual_num else 0.f1 = 2 * precision * recall / (precision + recall) if precision + recall else 0.return precision, recall, f1
test_metrics.py
import unittest
from metrics import EntityScore
import jsonclass MyTestCase(unittest.TestCase):def test_single_entity_score(self):tags_actual = [['O', 'O', 'O', 'O', 'O', 'O', 'B-PER.NAM', 'I-PER.NAM', 'O', 'O', 'O', 'O', 'O', 'O', 'O'], # 1个实体['O', 'B-PER.NAM', 'I-PER.NAM', 'I-PER.NAM', 'O', 'O', 'B-PER.NAM', 'I-PER.NAM', 'O', 'O'] # 2个实体]tags_predict = [['O', 'O', 'O', 'O', 'O', 'O', 'B-PER.NAM', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'], # 错1个['O', 'B-PER.NAM', 'I-PER.NAM', 'I-PER.NAM', 'O', 'O', 'O', 'O', 'O', 'O'] # 漏1个]r = EntityScore.single_entity_score(tags_predict, tags_actual)print(r)if __name__ == '__main__':unittest.main()
方法一:
在metrics.py
类中要调试的位置设置断点:
从test_metrics.py
运行程序:
方法二:设置断点,选在导入当前类的函数文件,进行debug
4.1.6 相对路径的调用从主函数设置断点开始
4.2 Pycharm交互式开发(console)
优点:可以不用 print 直接输出,加 print 也可以。
4.3 只运行文件中的某个函数或者类
点击函数一侧run。
4.4 螺旋标志
表示重写方法,这个是继承torch的dataset,需要重写那俩方法。
4.5 查看代码整体结构
pycharm左侧structures。
4.6 Pycharm在项目中搜索字符串
问题:使用Pycharm,有时需要查找某个字符串或者文本在项目中的哪个位置(哪个文件中)出现,比较常见的是在Debug时,根据logging信息,查找打印该log的代码在哪里,此时怎么查找呢?难道要凭猜测或者逐个文件找吗?No!
解决办法:利用Pycharm的Find in path功能进行快速定位搜索,快捷键是Ctr+Shift+f
,或者Edit-->Find-->Find in path
。
参考链接:https://blog.csdn.net/huludan/article/details/108410503
5 pycharm远程连接
5.1 Pycharm远程连接服务器
1、首先要打开/新建项目,这个项目需要和本地目录一致。
2、远程环境设置:Tools → \to → Deployment → \to → Configration
远程连接正常:
在Mapping下,选择连接windows下的项目路径中的代码和服务器上代码相连,表示已经把本地的代码和服务器代码连接上了。
5.2 配置远程Python解释器
1、将Python解释器设置为远程服务器上的,File → \to → Settings… → \to → Project: 项目名称 → \to → Project Interpreter,Path mapping:如果不想自定义路径,选择好解释器后系统会自动填一个临时路径文件夹。
2、选择SSH Interpreter,填写服务器的IP地址,用户名Username,下一步Next。
输入密码,下一步next
3、设置远程服务器地址,django2.2是我创建的新环境
如果在公共的conda下,地址在/opt/conda/envs/
中。
5.3 pycharm本地远端互传文件
两地文件互传
从本地上传到远端:上传代码,使得本地代码和服务器代码保持同步,直至右下角进度条完成
从远端下载到本地:
5.4 问题描述
参考链接:https://blog.csdn.net/t18438605018/article/details/110871429
在用ssh连接远程服务器时,出现以下错误
Warning: remote host identification has changed!IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the host key has just been changed.
The fingerprint for the ssh-rsa key sent by the remote host is
...
Please contact your system administrator or add correct host key in C:\Users\...\.ssh\known_hosts to get rid of this message.
谷歌翻译:
警告:远程主机标识已更改!
有人可能正在做一些令人讨厌的事情!
现在有人可能正在窃听你(中间人攻击)!
也可能是主机密钥刚刚更改。
远程主机发送的 ssh-rsa 密钥的指纹为
。。。。
请联系您的系统管理员或在 C:\Users\...\.ssh\known_hosts
中添加正确的主机密钥以消除此消息。
原因分析:
要连接的服务器重装了系统。用户和密码都是管理员后来分配的。是不是记录了以前的连接。所以根据提示,删除 C:\Users\...\.ssh\known_hosts
文件。
解决办法:
找到该文件,删除该文件。重新进行ssh连接即可!
5.5 Pycharm 开启远程Terminal
开启Pycharm 的远程SSH Terminal 后,在编写python程序是就可以同时使用IDE和Shell编程了。
开启方式:在Pycharm界面依次选择Tools->Start SSH Session
即可,具体操作如下图所示。
6 pycharm快捷键
快捷键 | 功能 |
---|---|
Alt + Enter | 万能键,自动导入包 |
Ctrl + ? | 添加注释 |
选中代码+tab | 缩进 |
Ctrl + p | 参数提示 |
Shift + f6 | 重命名,重构 |
Shift + 选中导入包名称 | 查看包信息 |
按ctrl键,鼠标左键点击函数名 | 可以跳转到该函数实现位置 |
ctrl+shift± | 收起全部的注释 |
7 pycharm其它操作
7.1 替换变量名
替换变量名:选择变量名 → \to → 右键 → \to → Refactor → \to → Rename
7.2 函数复用
选择指定内容,自动抽象出一个函数,实现函数复用:
8 报错
8.1 远程pycharm的console无法运行
下述“当前项目文件console”与“在debug时console”之间的区别:
8.1.1 当前项目文件console无法运行
查看File\Settings...\Build,Execution,Deployment\Console\Pythton Console
的工作目录是否对应当前工作目录,设置好后重启。
8.1.2 在debug时console无法运行
在debug时点击console就会打开一个命令窗,这个命令窗的环境与当前代码调试的环境是完全一致的,可以在这个命令窗对变量进行更改或者查看。
在debug时console无法运行,报错如下:
pydev debugger: process 24750 is connectingConnected to pydev debugger (build 192.6817.19)
pydev debugger: warning: trying to add breakpoint to file that does not exist: /home/ly2/pytorch_base_code/g:/compression_pycharm/pytorch-slimming-master/prune.py (will have no effect)
解决方法:debug之后,点击菜单栏console
,单击左下角python小图标即可。
可查看当前变量值
8.2 debug时显示collecting data并报错Timeout waiting for response
在用PyCharm进行Python代码调试查看具体变量时,会随机遇到一直显示collecting data,到最后报错Timeout waiting for response,在界面中看不到变量内部的内容,如下图所示:
解决办法:
在PyCharm,打开Setting界面,在如下设置项中勾选“Gevent compatible”即可,如下图所示:
8.3 Remote file 文件名 <string> is mapped pycharm
解决方法:在函数名处大断点,点击step into,之后一直按step over即可。
8.4 FileNotFoundError
方法:运行的文件执行路径改成项目目录
报错:FileNotFoundError: [Errno 2] No such file or directory: ‘tests/testdata/segdata’
8.5 TabError:空格与tab混用报错
当把代码从别处复制进来PyCharm,然后运行报错。
报错:TabError: inconsistent use of tabs and spaces in indentation
这个报错的意思是说IDE分不清tab和空格,说明你的代码中混用了tab和空格。
传统的方式是找出代码中报错的地方,然后修改。
这种方法可以,但是效率太低。推荐一种解决方法:格式化代码!
具体操作是:Code -->Reformat Code
注意:类内建议空一行,如果空两行,会自动变为顶格。
- 参考链接:https://blog.csdn.net/qq_34446614/article/details/91973139
9 其它
三引号自动生成注释:https://www.csdn.net/tags/NtzaAg2sNDM0MzQtYmxvZwO0O0OO0O0O.html
标题
pycharm基本使用与远程连接相关推荐
- 学习笔记(十二)——虚拟机安装和pycharm远程连接Ubuntu
文章目录 虚拟机 安装 Ubuntu 安装 pycharm远程连接Ubuntu 虚拟机设置端口转发 pycharm设置 设置自动上传 手动上传 虚拟机 虚拟机(Virtual Machine)指通过软 ...
- 【远程操控】Pycharm远程连接服务器之本地显示独立的plot窗口
文章目录 前言 一.软件信息 二.操作步骤 1. 设置Putty 2. 设置Pycharm 3. 安装Xming 前言 在配置Pycharm远程连接服务器后,虽然可以正常运行代码,但是发现在远程操控服 ...
- 【远程操控】Pycharm配置远程连接服务器
文章目录 一.引言 1. 使用场景 2. 系统及版本信息 二.配置连接 1. 设置远程连接,配置Deployment 2. 配置远程python解释器 一.引言 1. 使用场景 自己的笔记本没有GPU ...
- Pycharm远程连接服务器,操作代码
1. Pycharm连接远程服务器 1.1 进入配置页面 Pycharm菜单栏,如下图所示,依次点击 Tools -> Deployment -> Configration- 1.2 配置 ...
- 【docker】【pycharm】pycharm配置docker远程连接
[docker][pycharm]pycharm配置docker远程连接 配置ssh Pycharm配置 拉取代码 这次是参考师兄给的文档 首先进入docker docker start xxxxx ...
- pycharm远程连接服务器中的docker容器的配置
pycharm远程连接服务器中的docker容器 第一步:服务器中安装docker以及docker容器的运行 1.1docker的安装 docker的安装可以参照阿里云的教程, 阿里云安装教程,包含d ...
- 【配置】Pycharm远程连接服务器、配置SSH、配置py环境
在这里我将配置python.tensorflow到指定服务器,前提是需要知道远程服务器提供的ip.port.账号.密码. 文章目录 1 配置SSH 2 新建项目 3 设置远程连接配置 4 配置远程服务 ...
- pycharm远程连接服务器完整教程
pycharm远程连接服务器完整教程 前言: 整理出来供大家参考~ 第一步: 只有pycharm专业版才能远程连接服务器. 专业版安装教程(2020.1.3版本及以下,最好去用教育邮箱申请教育版) 第 ...
- Pycharm远程连接服务器来跑代码
目录 一.进入pycharm 二.步骤 1.开始 2.接下来输入你的密码 3.选择所需要的虚拟环境 4.完成一半啦 5.完成 一.进入pycharm 二.步骤 1.开始 点击pycharm左上角的fi ...
最新文章
- html5与原生混合模式开发,HTML5与混合模式开发与Native的关系及其实现[张振华.Jack].pdf...
- ylb:SQL 表的高级查询-多表连接和子查询
- %3c php foreach%3e,PHP 数组函数-数组排序
- Android开发推荐资料大合集
- MsSql.RestApi - 构建ASP.NET REST API的最简单方法
- 简单python脚本实例-终于晓得python入门脚本实例
- audio_policy.conf说明(翻译)
- ORACLE -- ArcSDE Lock request conflicts with an established lock
- 【算法笔记】求给定序列的第k大(权值线段树/直接离散化)
- 含本土测量软件的Q-Vision+Kvaser CAN/CAN FD/LIN总线解决方案
- Excel操作:使用Excel制作甘特图
- 汇编语言写c51计数器到60,HTML技巧汇编
- 《数字图像处理》第4讲——线性运算与空间图像增强
- druid字段级_Druid配置
- 谷歌将投资10亿美元在旧金山湾区新建约2万套住房
- 计算机导论题目2020,计算机网络论文题目_
- oracle 表空间转换,Oracle表空间数据文件移动的方法
- 计算机网络——应用层之电子邮件(E-mail)
- 文件下载重命名(跨域)
- 绝对布局(AbsoluteLayout)的简单使用