完整教程:PyCharm 在 Linux 上的安装指南

news/2025/9/24 18:23:22/文章来源:https://www.cnblogs.com/wzzkaifa/p/19109758

前言


PyCharm 是由 JetBrains 开发的一款功能强大的 Python 集成开发环境(IDE),被广大 Python 开发者誉为“Python 开发神器”。它提供了智能代码补全、实时错误检查、强大的调试器、集成单元测试、版本控制集成等一系列高效开发工具,极大地提升了 Python 项目的开发效率和质量。Linux 系统,以其高度的可定制性和稳定性,成为众多开发者的首选操作系统。将 PyCharm 运行在 Linux 上,能够充分发挥两者优势,构建一个极其流畅和高效的开发工作流。

本指南旨在为 Linux 用户提供一份从零开始,涵盖 PyCharm 的安装、配置、核心功能使用到高级技巧的万字详尽教程。无论你是刚接触 Linux 和 PyCharm 的新手,还是希望深化理解、提升工作效率的老手,本文都将为你提供有价值的参考。

第一部分:安装前的准备

1.1 系统要求

在开始安装之前,请确保您的 Linux 系统满足 PyCharm 的最低要求:

1.2 检查 Java 环境

打开终端,运行以下命令来检查 Java 是否已安装:

java -version

如果系统返回了类似 openjdk version "11.0.20" 2023-07-18 的版本信息,说明已安装。如果未安装,您可以使用包管理器安装 OpenJDK。

在 Ubuntu/Debian 上:

sudo apt update
sudo apt install openjdk-11-jdk # 或者 openjdk-17-jdk, openjdk-18-jdk 等

在 Fedora/RHEL/CentOS 上:

sudo dnf install java-11-openjdk-devel # 或者使用 yum

1.3 选择 PyCharm 版本

PyCharm 提供两个版本:

  1. 专业版 (Professional): 功能全面,支持 Web 开发(Django, Flask)、科学计算(DataSpell)、数据库、远程开发等高级功能。需要付费订阅,但提供 30 天免费试用。
  2. 社区版 (Community): 免费开源,提供基本的 Python 开发功能,包括代码补全、调试器、集成单元测试、版本控制集成等。对于纯 Python 开发和学习来说完全足够。

请根据您的需求选择版本。本教程将主要以专业版的界面进行演示,但大部分基础功能在两个版本中通用。

第二部分:安装 PyCharm

在 Linux 上,有多种安装 PyCharm 的方法,我们将介绍最常用的三种。

2.1 方法一:使用 Snap 包安装(最简单)

Snap 是一种通用的 Linux 软件包格式,简化了安装和更新过程。许多现代 Linux 发行版(如 Ubuntu)都预装了 Snap。

打开终端,运行以下命令即可安装 PyCharm 专业版:

sudo snap install pycharm-professional --classic

要安装社区版,请使用:

sudo snap install pycharm-community --classic

--classic 参数是因为 Snap 通常将应用限制在沙盒中,但 PyCharm 需要访问系统资源(如文件系统、外部工具),因此需要经典 confinement 模式。

优点:自动更新,依赖项自动管理。
缺点:启动速度可能稍慢,且版本更新可能略滞后于官方渠道。

2.2 方法二:使用 Tar.gz 压缩包安装(最灵活)

这是 JetBrains 官方推荐的方式,可以直接从官网获取最新版本,并允许用户完全控制安装位置和配置。

步骤 1:下载 Tar.gz 包
访问 JetBrains PyCharm 下载页面。根据你的需求选择“Professional”或“Community”版本,下载 .tar.gz 格式的压缩包。

步骤 2:解压缩
通常,我们将 IDE 解压到 /opt 目录,这是一个存放第三方应用程序的标准位置。

# 将下载的压缩包移动到 /opt (可选,也可以在其他位置解压)
sudo tar -xzf pycharm-*.tar.gz -C /opt/

步骤 3:运行 PyCharm
进入解压后的 bin 目录,执行启动脚本。

cd /opt/pycharm-2023.2.1/bin # 请将目录名替换为你下载的实际版本
./pycharm.sh

首次运行会进行一系列初始化设置。

步骤 4:创建桌面快捷方式(可选)
为了让启动更方便,可以创建桌面入口。PyCharm 首次启动时通常会提示你创建桌面条目。如果错过了,可以手动操作:

  1. 在 PyCharm 中,点击菜单栏 Tools -> Create Desktop Entry...
  2. 勾选 Create the entry for all users (需要 root 权限) 或仅当前用户。
  3. 之后,你就可以在系统应用菜单中找到 PyCharm 了。

优点:版本控制灵活,可以同时安装多个版本,无沙盒限制性能更好。
缺点:需要手动更新。

2.3 方法三:使用 JetBrains Toolbox App(官方推荐)

Toolbox App 是管理所有 JetBrains IDE 的最佳方式。它可以轻松安装、更新和切换不同版本和不同系列的 IDE。

步骤 1:下载并安装 Toolbox App

  1. 访问 Toolbox App 官网 下载 .tar.gz 包。
  2. 解压并运行其中的 jetbrains-toolbox 可执行文件。
  3. 它会自动安装到你的用户目录(如 ~/.local/share/JetBrains/Toolbox/bin)并提示你创建桌面入口。

步骤 2:安装 PyCharm

  1. 打开 Toolbox App。
  2. 在列表中找到 PyCharm,点击安装。
  3. 选择版本(稳定版 vs 早期访问计划版)和安装路径(默认为 ~/.local/share/JetBrains/Toolbox/apps/PYCHARM)。

Toolbox App 会自动为你创建启动器脚本和桌面条目。

优点:无缝更新和管理,轻松降级或尝试预览版,清理旧版本。
缺点:需要运行一个额外的后台应用。

第三部分:首次运行与初始配置

首次启动 PyCharm 会引导你进行一些重要配置。

3.1 导入设置

如果你是首次安装,选择 Do not import settings。如果是从旧版本升级或迁移,可以导入之前的配置。

3.2 许可协议

阅读并接受用户协议。对于专业版,你可以选择试用(Start trial)或输入激活码(Activate)。

3.3 UI 主题选择

选择你喜欢的 UI 主题(Darcula 深色或 Light 浅色)和编辑器配色方案。

3.4 自定义插件

PyCharm 的功能可以通过插件极大扩展。初始设置会让你选择需要安装的插件。

  • 必选: 通常保持默认即可,例如对 Markdown、.ignore 文件的支持等。
  • 可选: 你可以根据需求启用或禁用特定插件,例如 “Vim” 模拟插件、“IdeaVim” 或各种框架支持插件。之后也可以在设置中随时管理。

3.5 创建启动器脚本

如之前所述,此时可以勾选 Create Desktop Entry 来创建快捷方式。

完成这些步骤后,你就会看到 PyCharm 的欢迎界面。

第四部分:核心功能与使用详解

4.1 创建和管理项目

创建新项目:

  1. 在欢迎界面点击 New Project
  2. Location 字段输入项目路径。
  3. 选择项目解释器:
    • New environment using: 推荐。使用 Virtualenv, PipenvConda 为项目创建一个独立的虚拟环境,避免包冲突。
    • Previously configured interpreter: 使用已有的解释器。
  4. 选择 Python 解释器位置(如果系统有多个 Python 版本)。
  5. (可选)选择模板,如 Pure Python, Django, Flask 等。PyCharm 会为你生成基础项目结构。
# 示例:创建一个简单的 main.py
def greet(name):
print(f"Hello, {name
}!")
if __name__ == "__main__":
greet("PyCharm on Linux")

打开现有项目:
通过欢迎界面的 OpenGet from VCS(版本控制系统)可以打开已有项目。

4.2 用户界面导览

  • 项目视图 (Project View): 左侧边栏,显示项目文件结构。
  • 编辑器 (Editor): 中央区域,用于编写代码。
  • 工具窗口 (Tool Windows): 底部和两侧的窗口,如:
    • 终端 (Terminal): 集成系统终端。
    • Python 控制台 (Python Console): 交互式 Python 解释器。
    • 运行 (Run): 显示程序输出和日志。
    • 调试 (Debug): 用于调试程序,查看变量和调用栈。
    • 问题 (Problems): 显示代码中的错误和警告。
  • 导航栏 (Navigation Bar): 顶部显示当前文件路径,可以快速导航。

4.3 智能代码编辑

代码补全 (Code Completion)
Ctrl+Space 触发基础补全,PyCharm 会根据上下文提供精准的建议。

快速文档查看 (Quick Documentation)
将光标放在函数或类上,按 Ctrl+Q (Linux/Win) / F1 (Mac) 可以快速查看其文档字符串。

代码导航 (Navigation)

  • 跳转到定义Ctrl+ClickCtrl+B
  • 查找类/文件/符号Ctrl+N / Ctrl+Shift+N / Ctrl+Alt+Shift+N
  • 查看最近文件Ctrl+E

重构 (Refactoring)

  • 重命名Shift+F6,可以安全地重命名变量、函数、类等。
  • 提取变量/方法Ctrl+Alt+V / Ctrl+Alt+M,将选中的表达式提取为变量或方法。
# 重构示例:提取变量
# 重构前:
area = 3.14159 * radius * radius
# 选中 3.14159 * radius * radius,按 Ctrl+Alt+V
# 重构后:
pi_value = 3.14159 * radius * radius
area = pi_value

4.4 强大的调试器

调试是 PyCharm 的强项。

  1. 设置断点: 在代码行号旁点击,添加一个断点(红色圆点)。
  2. 开始调试: 点击右上角的“虫子”图标或按 Shift+F9,以调试模式运行。
  3. 调试工具窗口: 程序会在断点处暂停,你可以:
    • 步进 (Step Over/Into/Out)F8 / F7 / Shift+F8
    • 查看变量: 在 Variables 标签中查看当前作用域的所有变量值。
    • 计算表达式: 在 Watches 中添加你想监控的表达式。
    • 查看调用栈: 在 Frames 标签中查看函数调用链。
# 调试示例:计算斐波那契数列
def fibonacci(n):
if n <= 1:
return n
else:
# 在此行设置断点
return fibonacci(n-1) + fibonacci(n-2) # 按 F7 会步进到函数内部,按 F8 会步越过
result = fibonacci(5)
print(result)

4.5 测试集成

PyCharm 完美集成 unittest, pytest, doctest 等测试框架。

  1. 在测试文件或测试函数旁边会出现绿色的运行按钮。
  2. 点击按钮即可运行特定测试或整个测试套件。
  3. 结果会在 Run 工具窗口中显示,清晰看到通过/失败的测试。
# 使用 pytest 的示例 (需安装 pytest 包)
# test_sample.py
def inc(x):
return x + 1
def test_inc():
assert inc(3) == 4 # 旁边会出现绿色箭头,点击即可运行此测试

4.6 版本控制集成 (Git)

PyCharm 提供了出色的 Git 支持。

  • 初始化仓库VCS -> Enable Version Control Integration
  • 提交更改Ctrl+K。在提交前,可以预览更改、格式化代码、执行代码分析。
  • 查看差异: 在编辑器中右键修改过的文件,选择 Git -> Compare with Previous Revision
  • 推送/拉取Ctrl+Shift+K / Ctrl+T
  • 解决冲突: 遇到合并冲突时,PyCharm 会提供一个可视化的三窗格合并工具,让你轻松解决冲突。

第五部分:高级配置与技巧

5.1 配置 Python 解释器

为项目选择正确的解释器至关重要。

  1. 打开 File -> Settings -> Project: <your_project> -> Python Interpreter
  2. 点击齿轮图标,选择 Add Interpreter
  3. 你可以添加:
    • 本地虚拟环境Add Local Interpreter -> Virtualenv Environment
    • Conda 环境Add Local Interpreter -> Conda Environment
    • 远程解释器Add Remote Interpreter,通过 SSH、Docker 或 Vagrant 连接到远程机器或容器中的解释器。

5.2 调整外观和键映射

  • 主题/字体Settings -> Appearance & Behavior -> Appearance
  • 编辑器字体Settings -> Editor -> Font
  • 键映射Settings -> Keymap。你可以切换到其他 IDE(如 Eclipse, Visual Studio)的键映射习惯,或者自定义快捷键。

5.3 安装与配置插件

强大的插件生态系统是 PyCharm 的另一大优势。

  1. 打开 Settings -> Plugins
  2. 切换到 Marketplace 标签,搜索你需要的插件。
  3. 推荐插件
    • IdeaVim: 为编辑器提供 Vim 模拟。
    • Rainbow Brackets: 用不同颜色标识配对括号。
    • CodeGlance: 在编辑器右侧显示代码缩略图。
    • Database Tools and SQL: (专业版自带)提供数据库管理功能。
    • Mongo Plugin: MongoDB 集成。
    • .ignore: 支持各种 .ignore 文件语法高亮。

5.4 使用远程解释器进行远程开发

对于需要在远程服务器或 Docker 容器中运行代码的场景,PyCharm 专业版提供了无缝支持。

配置 SSH 远程解释器:

  1. Settings -> Python Interpreter 中添加新解释器。
  2. 选择 SSH Interpreter
  3. 配置 SSH 连接信息(服务器地址、用户名、认证方式)。
  4. 选择远程服务器上 Python 解释器的路径。
  5. PyCharm 会自动将本地项目文件同步到远程服务器,并在远程执行代码和调试,但编辑体验仍在本地,非常流畅。

第六部分:故障排除与性能优化

6.1 常见问题

  • 无法输入中文: 这是一个已知的 JetBrains IDE 在 Linux 上的问题。通常的解决方案是设置环境变量。编辑 PyCharm 的启动脚本(如 pycharm.sh 或在桌面条目的 Exec 命令前添加):

    export XMODIFIERS=@im=ibus # 如果你使用 IBus
    export GTK_IM_MODULE=ibus
    export QT_IM_MODULE=ibus
    # 或者对于 Fcitx
    # export XMODIFIERS=@im=fcitx
    # export GTK_IM_MODULE=fcitx
    # export QT_IM_MODULE=fcitx
  • 菜单栏不显示: 某些窗口管理器(如 i3wm)可能需要设置环境变量 export JAVA_AWT_WM_NONREPARENTING=1

6.2 性能优化

如果感觉 PyCharm 运行缓慢,可以尝试:

  1. 增加内存分配
    • 找到 PyCharm 的 vmoptions 文件。通常在 ~/.config/JetBrains/PyCharm2023.2/pycharm64.vmoptions (路径因版本而异)。
    • 修改 -Xmx 参数(最大堆内存),例如 -Xmx2048m (2GB)。不要超过你系统物理内存的 1/4 到 1/3。
  2. 排除目录索引
    • Settings -> Project -> Project Structure 中,将大型非代码目录(如 venv, __pycache__, .git, 数据文件目录)标记为 Excluded(右键目录 -> Exclude)。这可以加快文件索引和搜索速度。
  3. 关闭不必要的插件: 在 Settings -> Plugins 中禁用不用的插件。

结论

PyCharm 是一款极其强大的 IDE,它与 Linux 系统的结合为 Python 开发者提供了近乎完美的开发体验。通过本指南,你应该已经掌握了在 Linux 系统上安装、配置 PyCharm 的核心方法,并对其主要功能和高阶用法有了深入的了解。

从灵活的安装方式到智能编码辅助,从强大的调试器到无缝的版本控制和远程开发支持,PyCharm 的每一个特性都旨在提升你的生产力和代码质量。花时间熟悉它的快捷键和配置选项,定制一个最适合你工作流的开发环境,必将让你在 Python 开发的道路上事半功倍。

引用与资源出处

  1. JetBrains PyCharm 官方文档: https://www.jetbrains.com/pycharm/documentation/ - 本文的核心功能和配置说明均参考和遵循了官方文档的权威指南。
  2. JetBrains PyCharm 下载页面: https://www.jetbrains.com/pycharm/download/#section=linux - 提供了官方 Tar.gz 包和 Snap 包的下载源。
  3. JetBrains Toolbox App 官网: https://www.jetbrains.com/toolbox-app/ - Toolbox App 安装和管理方法的官方来源。
  4. OpenJDK 官网: https://openjdk.java.net/ - 关于 Java 环境要求的参考。
  5. Linux 中文输入问题社区讨论: https://youtrack.jetbrains.com/issue/IDEA-78860 - 针对 Linux 下 JetBrains IDE 中文输入问题的解决方案源自于官方 Issue 跟踪系统的用户讨论。
  6. Python 官方文档: https://docs.python.org/3/ - 文中所有 Python 代码示例的语法和标准库用法均遵循 Python 官方规范。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

产品经理如何借力项目管理软件,驾驭复杂项目并准时上线?

在缺乏专职项目经理的团队中,产品经理常需身兼数职,确保项目按时交付。本文将以敏捷项目管理思维为纲,结合PMP等经典理论,拆解项目启动、实施、收尾三大阶段的核心要点,并详解如何利用PJMan项目进度管理软件将方法…

网站死循环上海比较好的服装外贸公司

在Linux操作系统下进行开发&#xff0c;编写Makefile似乎是不可缺少的事情。但是对于一个比较大的工程&#xff0c;编写一个符合规范的Makefile并非易事。而且由于Makefile的各种显式&#xff0c;隐式规则&#xff0c;加之平时并不经常编写Makefile&#xff0c;导致我们写一个M…

朝阳网站开发联系电话网站备案信息核验单

简介&#xff1a; ![img](https://img.alicdn.com/tfs/TB1ZTW4VEY1gK0jSZFMXXaWcVXa-2304-1194.png) **越高级别的程序员往往越看重代码质量。** 本篇文章主要聊一下在团队开发过程中&#xff0c;如何做到代码质量的管控与提升。首先需要有一套规范&#xff0c;定义什么是好的代…

分布式 ID 生成方案实战指南:从选型到落地的全场景避坑手册(二) - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

公钥密码与可证安全概述

公钥密码与可证安全概述 Generated By 小艺(doge公钥密码与可证安全摘要:本报告系统阐述了公钥密码学与可证安全理论的核心关系及其演进。公钥密码学基于非对称密钥机制(公钥加密、私钥解密/签名),其安全性根植于…

溧阳 招网站开发深圳网站建设制作订做

上一课我们了解了Dreamweaver的工作界面&#xff0c;从这节课开始&#xff0c;我们由浅入深的开始学习网页的制作。首先打开Dreamweaver&#xff0c;制作网页首先要新建一个文档&#xff0c;就像我们写文稿需要一张纸一样。只有有了载体&#xff0c;你才能在上面进行创作&#…

Python标准库enum模块实现枚举类

一、介绍 Python标准库中的enum模块提供了一种创建枚举类型的方式,枚举类型是一种特殊的类,用于定义一组命名的常量。以下是enum模块的主要特点和实现方式:‌基本用法‌:使用Enum类可以定义一个枚举类型,枚举成员…

程序员的旅行神器:用AI提示词工程解决选择困难症

作为程序员,我们习惯了用技术解决工作中的复杂问题,但面对旅行规划时却常常陷入选择困难。今天分享一个实用的AI工具——专业的旅行目的地推荐提示词,让我们把解决问题的技术思维应用到生活中。作为程序员,我们习惯…

修改人大金仓V8数据库时间

sed -i "s#^timezone.*#timezone = Asia/Shanghai#" /home/kingbase/userdata/data/kingbase.conf控红色部分替换为数据库配置文件位置,在数据库中执行 SHOW config_file; 可查看位置路径然后执行 sed …

BUUCTF-babyheap_0ctf_2017题解(含详细过程与思路分析)

BUUCTF-babyheap_0ctf_2017题解(含详细过程与思路分析)一、题目来源 BUUCTF-Pwn-babyheap_0ctf_2017二、信息搜集 将题目给的可执行文件丢入Linux虚拟机中 通过file命令查看文件类型:通过checksec命令查看本题采用的…

洛阳制作网站的公司哪家好16岁做分期网站

力扣题目链接 编写一个程序&#xff0c;通过填充空格来解决数独问题。 一个数独的解法需遵循如下规则&#xff1a; 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 . 表示。 解题思路 …

自己电脑做网站教程制作京东网站建设

技术框架 框架作用 前端 React构建用户界面的 JavaScript 库ReduxJavaScript 应用的状态管理库,管理组件间的状态共享Webpack前端资源打包工具BabelJavaScript 编译器D3.js数据可视化的 JavaScript 库后端 Flask轻量级的 Python web 框架,处理 HTTP 请求、路由以及其他 Web 服…

做的很好的画册网站运维工程师主要做什么

CSS样式如何在页面中使用&#xff0c;包含三种方式&#xff1a;行内样式、内嵌式样式表、链接式样式表。 1、行内样式 行内样式是比较直接的一种样式&#xff0c;直接定义在 HTML 标签之内&#xff0c;并通过 style 属性来实现。这种方式比较容易学习&#xff0c;但是灵活性不…

油猴(Tampermonkey)插件从安装到使用

一、安装油猴插件 首先,打开chrome浏览器-设置-扩展程序,然后打开谷歌商店,搜索油猴插件,安装到浏览器上。接着,回到拓展程序-我的拓展程序页面,就可以看到我们刚才安装好的油猴插件了! 最后,启动插件,将浏览…

【EF Core】框架底层的数据库连接管理

在开始水文章前,老周补充说明一下,在前一篇水文中,老周扯了跟 Owned 关系相关的一些话题,这里补充一句:Owned 关系是不存在“多对多”的,如果 A 实体 Own B 实体,那么,A 对 B 是完全占有,B只属于A,数据不共享…

iNeuOS工业互联网操作系统,更新计量数据处理方式和在线报表,实现能源管理基础功能

本次iNeuOS工业互联网操作系统升级内容主要包括:对计量数据点的处理方式和在线报表增加时间格式化配置。主要应用场景针对能源管理的在线监测、数据处理和在线(日、月、年)报表的整体应用,完成能源管理系统的基础应…

React 展示Markdown内容 - 教程

React 展示Markdown内容 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…

江门网站推广哪家好长沙建网

使用Benchmark.NET对C# 代码进行基准测试的简介在我以前的文章中[10]&#xff0c;我介绍了该系列文章[11]&#xff0c;在其中我将分享我的经验&#xff0c;同时了解C&#xff03;和.NET Core&#xff08;corefx&#xff09;框架的新性能。在本文中&#xff0c;我想着重于对现有…

西电PCB设计指南第4章学习笔记

西电PCB设计指南第4章学习笔记 四、电源路径分析电源路径的基本原理回路路径与感抗 感抗与路径有关,信号线看似很短很直,但是引入了较大的环路感抗。多路信号线的环路之间的互感,造成相互干扰 所以,我们不能但按照…

图像处理去除噪点验证码的识别逻辑实践

验证码设计中常见的防护手段之一就是加入随机噪点,让字符边缘不清晰,从而干扰自动识别。本文介绍一种基于图像滤波与形态学操作的处理流程,帮助提取出清晰的字符区域。 一、问题分析 噪点验证码的典型特征是: 图像…