当前位置: 首页 > news >正文

PyCharm 使用笔记

1. 解释器配置

PyCharm并不知道本地Python解释器的位置。即使知道一般会放在默认位置/usr/bin/python,也不知道用户运行Python脚本时想使用解释器的哪个版本,例如Python 2.6或者Python 3.8,所以需要用户配置解释器。

  • 寻找Python的安装位置

使用下述命令寻找

# 寻找Python2的路径 which python # 寻找Python3的路径 which python3
  • 设置解释器

点南File->Default Settings->Project Interpreter

如果已有解释器就选择,如果没找到或者想换一个就点击Show All

点击左下角的加号

输入你的Python路径即可

2. 项目设置

Run->Edit Configurations

点击左上角的加号,进行主函数位置和参数的设置

3. 警告解决

shadows name 'xxxx' from outer scope

在PyCharm中提示shadows name ‘xxxx’ from outer scope,当你在外部有个相同名称的变量在方法内部被重新指定了新的值,也就是说你在外部的相同名称的变量压根就没有任何作用。所以PyCharm就回提示这个信息。这个时候就需要我们去调整具体代码了。

python的变量作用域:模块对应global,最内层为local,外层为nonlocal
变量查找顺序:内层作用域->外层->全局->builtin
只有class、def和lamda会改变作用域

读取变量的时候,如果local没有,查找nonlocal,然后global
写变量的时候,如果没有指明nonlocal/global,就是在局部作用域定义一个新的变量

def a(): param = 'b' # 这里就会出现这样的提示,因为在main定义的param对象被重新指定了新的值 print param if __name__ == '__main__': param = 'a' a()

4. 更换主题

File ->Settings -> Editor -> Color Scheme

在Scheme选择自己喜欢的主题

5. 远程调试

条件:需要使用专业版Pycharm。

5.1. 远程部署

点击菜单栏Tools——Deployment——Configuration

点“+”,新建一个SFTP类型的Deployment配置:

我给新的配置命名为“remote”:

选择Connection栏,填入服务器的IP、帐号、密码,并点击“Test Connection”测试是否可以链接。将编码类型改为“utf-8”:

选择Connection栏,填入本地代码的路径:

选择Excluded Paths栏,添加本地不需要同步的文件夹:

最后点击OK确定,完成远程部署的配置。

5.2. 远程解释器

远程部署可以实现代码的自动同步,接下来还要配置远程解释器。

首先拷贝本地Pycharm安装目录下的helpers目录中的所有文件,上传到远程服务器的登录用户目录下。例如,我使用的是root用户,则拷贝至/root/.pycharm_helpers目录下。

在Pycharm中选择File -> Settings -> Project:learn -> Project Interpreter -> Add

选择SSH解释器,输入服务器的IP、帐号,点击Next,然后输入密码:

选择服务器上的Python解释器:

选择代码存放地址,我本地的地址是E:/project/learn,服务器上的地址是/app/learn

然后点击确定即可。此时Pycharm底部会出现File Transfer栏,显示代码文件的同步信息:

此时运行代码,使用的就是服务器的Python解释器。后续对代码的每一次修改,都会在保存后自动上传服务器。

5.3. 常见问题

在文件同步过程中,若出现报错:

Failed to change timestamp of the file

选择菜单栏Tool——Deployment——Options,取消选中Preferve files timestamps

画红线处的√即可。

参考文献

pycharm更换主题_AI浩的博客-CSDN博客_pycharm主题

shadows name 'xxxx' from outer scope 警告解决_lucky_白杨的博客-CSDN博客_from outer scope

Pycharm配置远程调试

http://www.jsqmd.com/news/1160972/

相关文章:

  • 积家中国官方售后服务体系全攻略|最新维修地址及电话权威收录(2026年7月最新) - 积家中国服务中心
  • 机器学习中的觉的距离和相似度
  • 终极指南:5分钟解决Windows游戏和软件VC++运行库问题
  • PyMongo 4.x 时区配置实战:CodecOptions 实现 UTC 与本地时间自动转换
  • 170、标签分配改进全景总结:四大分配器源码级对比与最佳配置推荐
  • 玄学中的系统论:从周期律到模型训练的收敛震荡
  • C++ 类型转换
  • 维度建模实战:电商数仓 4 层架构设计,从 ODS 到 ADS 的完整落地流程
  • 2026年医疗器械EMC安规检测服务商盘点、实力解析与合规选型避坑指南 - 产业观察报
  • STM32F429ZI与EM3080-W条形码识别系统设计
  • 秒杀系统如何设计
  • RedisDesktopManager Windows终极指南:告别命令行,3分钟搭建可视化Redis管理平台
  • 3分钟极速体验:这款免费浏览器扩展让你的GitHub下载速度飙升10倍
  • 终极指南:如何用MCA Selector轻松管理你的Minecraft世界存档
  • 高精度ADC系统设计:ADS131M02与PIC18F86J15的工程实践
  • 程序员必读书单
  • d3d8to9:让Direct3D 8游戏在Windows 10/11上完美运行的终极解决方案
  • 数学学习指南
  • 江诗丹顿中国官方售后服务中心|最新网点地址及官网热线权威公布(2026年7月最新) - 江诗丹顿中国服务中心
  • OneMore插件技术解析:深度重构OneNote生产力的架构设计与实现路径
  • 化工涂料公司怎么做GEO:AI引用逻辑、服务商选择、具体操作、效果监控全流程分享,全程零代码SAAS
  • JavaScript 网盘文件直链获取技术方案:重构下载体验的现代实现
  • PLIP完全指南:如何通过3种方法高效分析蛋白质-配体相互作用
  • 直流有刷电机驱动器TC78H651AFNG与PIC18LF47K40应用解析
  • C++ 运行问题汇总
  • 免费论文下载网址
  • Ubuntu 终端
  • 程序员开会做纪要,2026年3款带免费额度视频导出文字工具够用吗
  • Flask+flask-socketio+jsonrpc组合配置避坑
  • Wand-Enhancer:免费解锁WeMod高级功能的本地化增强方案