PyCharm中远程连接 Linux 服务器,可以实现在本地编辑代码并直接在远程服务器上运行、调试的功能,非常适合开发部署在服务器上的项目。以下是详细步骤:

一、准备工作

  1. 确保服务器满足条件

    • Linux 服务器已开启 SSH 服务(默认端口 22,可通过 systemctl status sshd 检查状态)。
    • 知道服务器的 IP 地址、SSH 端口(默认 22)、登录用户名和密码(或密钥)。
    • 服务器已安装 Python 环境(如 python3pip3)。
  2. PyCharm 版本要求

二、远程连接步骤

1. 配置远程服务器(SSH 连接)

打开 PyCharm,依次进入:
File → Settings → Build, Execution, Deployment → Deployment

  • 点击左侧 + 号,选择 SFTP(用于文件传输),输入服务器名称(自定义,如 MyLinuxServer)。

  • 在右侧配置面板:

    • Connection 标签页

      • SFTP host:服务器 IP 地址(如 192.168.1.100)。
      • Port:SSH 端口(默认 22)。
      • Username:服务器登录用户名(如 root 或普通用户)。
      • Authentication:选择认证方式:
        • 若用密码:勾选 Password 并输入密码。
        • 若用密钥:选择 Key pair,点击 Browse 选择私钥文件(如 id_rsa),若有密钥密码(passphrase)需填写。
      • 点击 Test Connection,提示 “Successfully connected” 则表示 SSH 连接成功。
    • Mappings 标签页(配置本地与远程文件映射):

      • Local path:本地项目文件夹路径(如 D:\Projects\myproject)。
      • Deployment path on server [服务器名]:服务器上存放项目的路径(如 /home/user/projects/myproject,需提前在服务器创建)。
      • Web server root URL:无需填写(非 Web 项目)。
  • 点击 OK 保存配置。

2. 配置远程 Python 解释器

依次进入:
File → Settings Settings → Project: [项目名] → Python Interpreter

  • 点击右上角齿轮图标 → Add...
  • 在左侧选择 SSH Interpreter → 选择 Existing server configuration,在下拉列表中选择刚才配置的服务器 → 点击 Next
  • 选择服务器上的 Python 解释器路径:
    • 可通过在服务器终端运行 which python3 查看路径(如 /usr/bin/python3 或 /home/user/venv/bin/python)。
    • 建议使用虚拟环境:在服务器创建虚拟环境后,选择其下的 python3 路径。
  • 点击 Next → 确认解释器路径和同步文件夹(默认与 Deployment 配置一致)→ 点击 Finish

此时,PyCharm 会将远程解释器添加到项目中,后续运行 / 调试都会使用该远程环境。

3. 同步本地与远程文件
  • 手动同步:右键点击项目文件夹 → Deployment → Upload to [服务器名](上传本地文件到服务器)或 Download from [服务器名](从服务器下载文件到本地)。
  • 自动同步:进入 Deployment 配置 → Options 标签页 → 勾选 Upload changed files automatically to the default server → 选择同步时机(如 On explicit save action,保存时自动上传)。
4. 运行 / 调试远程代码
  • 直接右键点击代码文件 → Run 或 Debug,PyCharm 会自动将代码同步到服务器,并在远程解释器中执行。
  • 控制台输出会显示在 PyCharm 的 Run 面板中,与本地运行体验一致。

三、常见问题解决

  1. SSH 连接失败

    • 检查服务器 IP、端口是否正确,网络是否通畅(可通过 ping 服务器IP 测试)。
    • 确认 SSH 服务是否运行,防火墙是否开放 22 端口(如 ufw allow 22)。
    • 密钥认证失败:检查私钥文件权限(服务器端 ~/.ssh/id_rsa.pub 需添加到 ~/.ssh/authorized_keys,且权限为 600)。
  2. 解释器配置失败

    • 确保服务器上的 Python 路径正确,且版本与项目兼容。
    • 若提示 “Permission denied”,需确保用户对该 Python 解释器或虚拟环境有执行权限。
  3. 文件同步缓慢

    • 减少同步文件范围:在 Deployment → Excluded Paths 中添加无需同步的文件夹(如 venv__pycache__)。
    • 改用手动同步,避免频繁自动上传。

通过以上步骤,即可在 PyCharm 中无缝开发远程 Linux 服务器上的项目,兼顾本地编辑的便捷性和远程运行的真实性。

【PyCharm】连接Jupyter Notebook

在 PyCharm 中连接 Jupyter Notebook 可以结合 PyCharm 的强大编辑功能和 Jupyter 的交互式运行特性,尤其适合数据分析和机器学习开发。以下是详细的连接步骤:

一、准备工作

  1. 确保已安装 Jupyter
    在本地或远程环境中安装 Jupyter Notebook:

    bash

    # 本地环境安装
    pip install jupyter
    
    # 虚拟环境中安装(推荐)
    pip install ipykernel
    python -m ipykernel install --user --name=myenv  # 将虚拟环境添加到 Jupyter
    
  2. PyCharm 版本要求

    • 支持 PyCharm Professional 版(完全支持 Jupyter 功能)。
    • 社区版可通过插件有限支持,但推荐专业版以获得完整体验。

二、本地 Jupyter Notebook 连接(最常用)

1. 直接创建 Jupyter 笔记本文件
  • 在 PyCharm 中,右键项目文件夹 → New → Jupyter Notebook,命名文件(如 demo.ipynb)。
  • 首次创建时,PyCharm 会自动检测本地 Jupyter 环境,若未安装会提示安装,点击 Install 即可。
2. 配置 Jupyter 服务器(默认自动配置)
  • 创建后,PyCharm 会自动启动本地 Jupyter 服务器(默认端口 8888),并在下方显示服务器状态:

    plaintext

    [I 10:00:00.000 NotebookApp] Serving notebooks from local directory: ...
    [I 10:00:00.000 NotebookApp] Jupyter Notebook 6.5.4 is running at:
    [I 10:00:00.000 NotebookApp] http://localhost:8888/?token=xxxxxx
    
  • 若需自定义端口或配置,可通过 File → Settings → Languages & Frameworks → Jupyter 调整。
3. 运行 Jupyter 单元格
  • 在 .ipynb 文件中,输入代码后按 Shift + Enter 运行单元格,结果会直接显示在下方,与 Jupyter 网页版体验一致。

三、连接远程 Jupyter Notebook 服务器

如果 Jupyter 服务器运行在远程服务器(如 Linux 服务器),可按以下步骤连接:

1. 在远程服务器启动 Jupyter 并允许远程访问
  • 登录远程服务器,启动 Jupyter 时指定允许远程连接:

    bash

    # 生成配置文件(首次运行)
    jupyter notebook --generate-config
    
    # 启动服务器,允许所有 IP 访问,指定端口(如 8889)
    jupyter notebook --ip=0.0.0.0 --port=8889 --no-browser --allow-root
    
  • 启动后会显示访问链接,包含 token(如 http://服务器IP:8889/?token=xxxx),记录该 token
2. 在 PyCharm 中连接远程服务器
  • 打开 PyCharm,进入 File → Settings → Languages & Frameworks → Jupyter → Servers
  • 点击 + 号,配置远程服务器:
    • Name:自定义名称(如 RemoteJupyter)。
    • URI:输入远程 Jupyter 地址(如 http://服务器IP:8889)。
    • Token:输入启动时生成的 token(或输入密码,若已设置)。
  • 点击 OK 保存,PyCharm 会测试连接,成功后即可使用远程 Jupyter 内核。

四、配置 Jupyter 解释器(可选)

若需指定 Jupyter 使用的 Python 环境(如虚拟环境):

  1. 进入 File → Settings → Project: [项目名] → Python Interpreter
  2. 选择已配置的解释器(本地或远程),确保该环境已安装 ipykernel
  3. 在 Jupyter 笔记本中,点击右上角的内核选择框(默认显示 Python 3),选择目标解释器即可。

五、常见问题解决

  1. “No Jupyter kernel found” 错误

    • 原因:当前解释器未安装 ipykernel
    • 解决:在对应环境中运行 pip install ipykernel,重启 PyCharm。
  2. 远程连接失败

    • 检查服务器防火墙是否开放指定端口(如 8889):sudo ufw allow 8889
    • 确认服务器 IP 和端口是否正确,可通过 telnet 服务器IP 端口 测试网络连通性。
  3. 单元格运行无响应

    • 可能是 Jupyter 服务器未启动,在 PyCharm 底部的 Jupyter 面板中点击 Start Jupyter Server 重启。
    • 若内核崩溃,点击 Kernel → Restart 重启内核。

通过 PyCharm 连接 Jupyter Notebook 后,既能利用 PyCharm 的代码补全、语法检查等功能,又能享受 Jupyter 的交互式运行体验,特别适合需要频繁调试和可视化的场景(如数据处理、模型训练)。

【Linux】【Vim】vim编辑器的用法

Vim 是 Linux 系统中功能强大的文本编辑器,以高效的命令行操作著称。掌握 Vim 的基本用法能极大提升文本编辑效率,以下是核心用法指南:

一、Vim 的三种模式

Vim 有三种核心工作模式,操作前需明确当前模式:

  1. 命令模式(Normal Mode)

    • 启动 Vim 后的默认模式,用于执行命令(如移动光标、删除、复制等)。
    • 其他模式按 Esc 可返回命令模式。
  2. 插入模式(Insert Mode)

    • 用于输入文本,按 i(在光标前插入)、a(在光标后插入)、o(在当前行下方新增一行并插入)进入。
  3. 末行模式(Command-Line Mode)

    • 用于执行保存、退出、查找替换等命令,按 : 进入,命令以回车结束。

二、基本操作流程

  1. 启动 Vim

    bash

    vim 文件名  # 编辑指定文件,若文件不存在则新建
    
  2. 进入插入模式
    按 i 开始输入文本(此时左下角显示 -- INSERT --)。

  3. 保存并退出

    • 按 Esc 返回命令模式。
    • 按 : 进入末行模式,输入以下命令:

      vim

      :w    # 保存文件(write)
      :q    # 退出(quit)
      :wq   # 保存并退出
      :q!   # 强制退出(不保存修改)
      

三、命令模式核心操作

1. 光标移动
命令 功能 快捷键(等效)
h/左箭头 左移一格
l/右箭头 右移一格
j/下箭头 下移一行
k/上箭头 上移一行
gg 跳至文件首行
G 跳至文件尾行
nG 跳至第 n 行(如 5G :n(末行模式)
w 跳至下一个单词开头
b 跳回上一个单词开头
^ 跳至当前行首 0(数字 0)
$ 跳至当前行尾
2. 文本编辑
命令 功能
x 删除光标所在字符
dd 删除当前行(剪切行)
ndd 删除从当前行开始的 n 行(如 3dd
yy 复制当前行
nyy 复制从当前行开始的 n 行(如 2yy
p 在当前行下方粘贴复制 / 剪切的内容
P 在当前行上方粘贴复制 / 剪切的内容
u 撤销上一步操作
Ctrl + r 重做(取消撤销)
r 替换光标所在字符(按 r 后输入新字符)
3. 查找与替换
  • 查找:在命令模式按 /关键词(向下查找)或 ?关键词(向上查找),按 n 跳至下一个,N 跳至上一个。
  • 替换:进入末行模式,语法为:

    vim

    :[范围]s/旧内容/新内容/[选项]
    

    示例:

    vim

    :s/hello/world/       # 替换当前行第一个 "hello" 为 "world"
    :s/hello/world/g      # 替换当前行所有 "hello" 为 "world"(g=global)
    :%s/hello/world/g     # 替换整个文件所有 "hello" 为 "world"(%=全部)
    :1,5s/hello/world/g   # 替换第 1-5 行所有 "hello" 为 "world"
    

四、常用末行模式命令

命令 功能
:set nu 显示行号(number)
:set nonu 隐藏行号
:set hlsearch 高亮显示查找结果(highlight search)
:set nohlsearch 取消高亮显示
:w 新文件名 另存为新文件
:r 文件名 将指定文件内容插入当前光标位置
:!命令 临时执行 Linux 命令(如 :!ls 查看目录)

五、实用技巧

  1. 批量注释

    • 按 Ctrl + v 进入可视化块模式,移动光标选中多行的行首。
    • 按 I(大写)进入插入模式,输入注释符号(如 #),按 Esc 自动应用到所有选中行。
  2. 分屏操作

    • 末行模式输入 :split(横向分屏)或 :vsplit(纵向分屏)。
    • Ctrl + w + 方向键 切换分屏窗口。
  3. 快速缩进

    • 命令模式按 >> 向右缩进当前行,<< 向左缩进。
    • 选中多行后按 > 或 < 批量缩进。

六、学习资源

  • 启动后输入 :help 查看完整帮助文档。
  • 运行 vimtutor 命令(Linux 自带),通过交互式教程快速入门。

Vim 的高效在于 “命令组合”,例如 d3w 表示删除从光标开始的 3 个单词。初期可能觉得复杂,但熟练后能显著提升编辑速度。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐