第一次尝试远程跑代码,记录一下流程,免得以后忘了。

先用的它的免费送的一个试用版,配置是 2 核 (vGPU) 8GiB 通用算力型 u1,Ubuntu 系统

# 配置安全组

默认应该是好的

# 连接到 ECS 实例

  1. 本地生成 SSH 密钥
1
ssh-keygen -t rsa -b 4096
  1. 登录 ECS
1
ssh root@<ECS实例公网IP>

第一次登陆会出现提示,直接点 yes 就行

发现连接不上,去阿里云主页的这个实例下点击远程链接,重置了密码 Simp4hanekawa

然后在浏览器上登录显示成功。

再次尝试在命令指示符运行该指令显示登陆成功

# 设置权限

1
2
mkdir -p ~/.ssh
chmod 700 ~/.ssh

# 上传公钥

1
2
echo "<粘贴公钥内容>" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

# 在 pycharm 中配置环境

  1. 配置 SSH 连接
  2. 打开 PyCharm,点击顶部菜单 File > Settings。
  3. 进入 Project:> Python Interpreter。
  4. 点击右上角的齿轮图标,选择 Add Interpreter > SSH Interpreter。
  5. 输入 ECS 实例的公网 IP 和用户名(通常是 root 或创建的用户)。
  6. 配置 SSH 密钥或密码完成连接。

# 在实例中安装 conda

1
2
3
4
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

按照官方的说法进行了安装
然后剩下的操作就很简单了,直接用 conda 创建环境就行了

注意每次重新启动后需要再输入下列指令激活

1
source ~/miniconda3/bin/activate

使用 scp (Secure Copy Protocol)命令可以安全地将文件从本地计算机上传到远程服务器,或者从远程服务器下载到本地。它基于 SSH 协议工作,因此既安全又方便。


# scp 命令的基本逻辑

# 命令格式

1
scp [选项] [源路径] [目标路径]
  • 源路径:要复制的文件或目录的路径。
  • 目标路径:复制文件的目的地。
  • 选项:可选的参数,用于控制 scp 的行为。

# 常用场景

# 1. 上传本地文件到远程服务器
1
scp /本地/文件路径/filename root@服务器IP:/远程/目标路径/

示例:

1
scp /Users/yourname/Desktop/test.txt root@47.108.248.138:/root/data/

解释:

  • /Users/yourname/Desktop/test.txt 是本地文件路径。
  • root@47.108.248.138 是远程服务器的用户名和 IP 地址。
  • /root/data/ 是远程服务器上的目标路径。
# 2. 上传本地目录到远程服务器

使用 -r 选项递归地复制整个目录:

1
scp -r /本地/目录路径 root@服务器IP:/远程/目标路径/

示例:

1
scp -r /Users/yourname/Desktop/DATA root@47.108.248.138:/root/

这会将本地 DATA 目录及其所有内容上传到远程服务器的 /root/ 目录中。


# 3. 从远程服务器下载文件到本地
1
scp root@服务器IP:/远程/文件路径/filename /本地/目标路径/

示例:

1
scp root@47.108.248.138:/root/data/test.txt /Users/yourname/Desktop/
# 4. 从远程服务器下载目录到本地

使用 -r 选项递归下载目录:

1
scp -r root@服务器IP:/远程/目录路径 /本地/目标路径/

示例:

1
scp -r root@47.108.248.138:/root/DATA /Users/yourname/Desktop/

# 常用选项

选项含义
-r递归复制整个目录
-P指定远程服务器的端口号(默认为 22)
-C启用压缩传输,提高速度
-v显示详细的传输过程(调试用)

# 操作步骤示例

# 1. 上传文件

假设文件路径为 /local/path/151673_filtered_feature_bc_matrix.h5 ,远程服务器的目标路径为 /root/DATA/

运行命令:

1
scp /local/path/151673_filtered_feature_bc_matrix.h5 root@47.108.248.138:/root/DATA/

# 2. 验证文件是否成功上传

登录到远程服务器,检查文件是否存在:

1
2
ssh root@47.108.248.138
ls -lh /root/DATA/151673_filtered_feature_bc_matrix.h5

在 Linux 环境下安装 rpy2R 需要按照以下步骤进行:


# 1. 安装 R

R 是 rpy2 的依赖,必须先安装。

# 方法 1:通过包管理器安装(推荐)

  1. 更新系统包索引:

    1
    2
    sudo apt update  # 对于基于 Debian/Ubuntu 的系统
    sudo yum update # 对于基于 Red Hat/CentOS 的系统
  2. 安装 R:

    • Ubuntu/Debian
      1
      sudo apt install r-base
    • CentOS/Red Hat
      1
      2
      sudo yum install epel-release
      sudo yum install R

# 方法 2:从源码编译安装

如果需要特定版本,可以从 CRAN 下载源码并手动编译:

1
2
3
4
5
6
wget https://cran.r-project.org/src/base/R-4/R-4.x.x.tar.gz  # 替换为需要的版本
tar -xzvf R-4.x.x.tar.gz
cd R-4.x.x
./configure
make
sudo make install

# 验证安装:

运行以下命令,检查 R 是否安装成功:

1
R --version

# 2. 安装 rpy2

rpy2 是连接 Python 和 R 的桥梁。

# 方法 1:通过 pip 安装(推荐)

1
pip install rpy2

# 方法 2:通过 Conda 安装

如果使用 Conda 环境,可以通过 Conda 安装:

1
conda install -c conda-forge rpy2

# 方法 3:从源码安装

如果需要从源码安装:

1
2
3
git clone https://github.com/rpy2/rpy2.git
cd rpy2
python setup.py install

# 3. 配置环境变量(必要时)

有时需要确保 R 的路径已正确配置为系统环境变量。编辑 ~/.bashrc 文件:

1
2
3
export R_HOME=/usr/lib/R
export R_LIBS_USER=~/.local/lib/R
export PATH=$PATH:/usr/lib/R/bin

然后加载配置:

1
source ~/.bashrc

# 4. 验证安装

启动 Python,验证是否能够成功导入 rpy2

1
2
3
4
import rpy2.robjects as ro

# 测试调用 R 函数
ro.r('print("Hello from R")')

如果输出 Hello from R ,说明安装成功。


# 5. 常见问题

  • 问题:R 没有安装成功?
    确认 R 的安装路径正确,或检查是否有未满足的依赖包(例如 gfortrangcc )。

  • 问题:rpy2 安装报错?

    • 确保 Python 版本与 rpy2 兼容(推荐使用 Python >= 3.6)。
    • 确保安装了 R 并且 R 的路径可被 rpy2 检测到。

如果问题持续,可以提供错误日志,我会进一步协助!