【Pycharm】Application Manual

在这里插入图片描述



1 下载地址

官网:https://www.jetbrains.com/pycharm/download/#section=linux

在这里插入图片描述
community (社区)版本可以免费使用

2 启动

windows 系统就不用多介绍了

linux 系统启动如下,进入安装好的 pycharm 文件的 bin 目录下,启动 pycharm.sh

cd pycharm-community-2020.1.3/bin
sh pycharm.sh

3 虚拟环境

同时驾驭多个项目时,可能会出现相同库的不同版本之间的冲突,比如,A 项目需要 pytorch 的版本是 1.1.0,而 B 项目需要的版本是 1.4.0,此时虚拟环境就有用武之地了,可以让每一个项目独享一套环境

本小节介绍下用 pycharm 如何创建、激活、退出、删除虚拟环境!

Ps:安装了 anaconda 的话,也可以用 conda 创建和使用虚拟环境,具体参考 服务器上配置 Tensorflow GPU 版 中的 4.4 Anaconda3安装(可选)

3.1 创建虚拟环境

参考 pycharm创建、激活、删除虚拟环境(新建项目的时候创建虚拟环境)

下面的例子是在打开一个项目的情况下,新建一个虚拟环境

在菜单栏选中 file -> settings

找到 project 下面的 Project Interpreter

在这里插入图片描述
点击右上角的齿轮,再点 add 新建一个 Project Interpreter,页面如下

在这里插入图片描述
location 是虚拟环境的目录,eg:/home/pycharm_project/envs/demo,base interpreter 是虚拟环境的 python 版本

点 OK 就创建好了虚拟环境,会发现 /home/pycharm_project/envs/demo/ 目录下生成了一些配置文件!


还可以用 conda 创建虚拟环境(服务器上配置 Tensorflow GPU 版),然后加入到 pycharm 中,加入过程参考 在pycharm中使用conda虚拟环境

在这里插入图片描述

在这里插入图片描述

3.2 激活虚拟环境

如何进入虚拟环境呢?可以从如下两种方式进入

第一种,直接在 pycharm 的底端 Terminal 入口进入,正常情况下,控制台页面都是在 Run

在这里插入图片描述
第二种,从系统的终端进入

打开一个终端,进入虚拟环境目录,source 下子目录 bin 中的 activate 就行

cd /home/pycharm_project/envs/demo/
source bin/activate

3.3 退出虚拟环境

在虚拟环境中输入 deactivate 即可

deactivate

3.4 删除虚拟环境

直接删除掉虚拟环境的目录文件即可 /home/pycharm_project/envs/demo/

4 调试

4.1 pycharm

设置好断点,在程序部分右键,选择 debug 而不是 run,进入 debug 模式

下面两个图是调试的灵魂

在这里插入图片描述
在这里插入图片描述
参考 新手必会,pycharm的调试功能(史上最详篇)


当然 python test1.py 能直接运行的情况下,上述过程很非常开心愉快,但是配合 argparse(介绍可以参考 添加链接描述)传入参数的时候,需要 python test1.py --cfg xxx 才能运行,这个时候直接右键 debug 就不行了!

此时,菜单栏左上角或者右上角有这个方框,点击下三角配置 Debug configurations

在这里插入图片描述

在这里插入图片描述

基础配置如上图,test1.py 后面的 --cfg xxx 复制在 Parameters 里

特别要注意 working directory,影响代码中的相对路径

也特别要注意 Python interpreter,特别是有很多虚拟环境的时候

在这里插入图片描述

点击 run / debug 就可以带参数的进行 ”运行 / 调试“ 了

图片来自 https://blog.csdn.net/sunaxp/article/details/80363705


ps:解决PyCharm调试查看变量时一直显示collecting data并报错Timeout waiting for response且看不到任何内容

在这里插入图片描述

4.1.1 调试torch.distributed.launch分布式程序

来自 【PyTorch】PyCharm远程连接服务器,调试torch.distributed.launch分布式程序

在这里插入图片描述
不行就只调一张卡,哈哈,node=1

或者

  • script path:train.py
  • parameter:–cfg config.yaml
  • Environment variables:CUDA_VISIBLE_DEVICES=1,2 --nproc_per_node=2 --master_port=1234

4.2 pdb

pdb调试方式

import pdb
pdb.set_trace() # 需要断点的地方

输入 exit 退出

h(elp),会打印当前版本Pdb可用的命令,如果要查询某个命令,可以输入 h [command],例如:“h l” — 查看list命令

l(ist),可以列出当前将要运行的代码块

b(reak), 设置断点,例如 “b 77″,就是在当前脚本的77行打上断点,还能输入函数名作为参数,断点就打到具体的函数入口,如果只敲b,会显示现有的全部断点

cl(ear),如果后面带有参数,就是清除指定的断点;如果不带参数就是清除所有的断点

disable/enable,禁用/激活断点

n(ext),让程序运行下一行,如果当前语句有一个函数调用,用n是不会进入被调用的函数体中的

s(tep),跟n相似,但是如果当前有一个函数调用,那么s会进入被调用的函数体中

c(ont(inue)),让程序正常运行,直到遇到断点

j(ump),让程序跳转到指定的行数

a(rgs),打印当前函数的参数

p,最有用的命令之一,打印某个变量

!,感叹号后面跟着语句,可以直接改变某个变量
q(uit),退出调试

5 py 文件打包成 exe

借助 pyinstaller 工具

安装通过这个指令 pip install pyinstaller,离线安装参考 【Linux】learning notes 中 pip install 部分

安装完成后,pyinstaller -F xxx.py 就打包好了(兼容性一般)

参考 Python如何生成exe文件?

记得要在 windows 环境下运行,因为 linux 系统下的可以执行文件(文件名直接可运行)和 window 下不一样

可能会遇到

pyinstaller生成的exe文件在其他电脑打不开的解决方法

pyinstaller -D xxx.py

生成文件夹

python用pyinstaller生成exe时报错 TypeError: an integer is required (got type bytes)

换个版本

附录A 快捷键

返回上一次光标的位置

参考 Pycharm撤销操作和代码跳转后退回操作以及消除波浪线操作快捷键

勾选 Toolbar

View->Appearance->Toolbar

在这里插入图片描述
在菜单栏会出现左右箭头

在这里插入图片描述

可以返回到上次停留的位置

代码折叠

“Ctrl” ++” 单个模块的展开
“Ctrl” +-” 单个模块的折叠
“Ctrl” + “Shift” ++” 所有模块的展开
“Ctrl” + “Shift” +-” 所有模块的折叠

跳转到定义处

“Ctrl” + “函数名”

附录B

解决调试没有反应

Backend Qt5Agg is interactive backend. Turning interactive mode on

解决Pycharm单步调试时没有响应的问题

File—Settings—Build,Exrcution,Deployment—Debugger—Python Debugger 里边的 Gevvent compatible 这个选项打勾,然后就可以使用了
在这里插入图片描述

Out of Memory 然后一直闪退

windows:bin下的 pycharm64.exe.vmoptions
在这里插入图片描述
这两项适当增大

linux: Help --> Edit Custom VM Options

## PyCharm 的启动内存,越大越好。
-Xms128m 

## PyCharm 的最大运行内存,也是越大越好。
-Xmx2048m 

## PyCharm 保留代码可占用的内存
-XX:ReservedCodeCacheSize=512m
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值