/ PYTHON

配置python远程环境

由于工作基本基于python,所以本文主要记录配置远程linux的python环境

一. 定义Docker位置

为什么要修改docker存储的位置? 因为往往docker的缓存过大,导致最后打的镜像多了,最后占满空间了

步骤:

  • 获取当前docker所在存储位置:docker info | grep "Docker Root Dir"
  • 停止docker服务:systemctl stop docker
  • 移动整个路径至新路径:mv /var/lib/docker /data/docker
  • 创建软连接:ln -s /data/docker /var/lib/docker
  • 重启docker服务:systemctl start docker
  • 可以通过第一个命令查看现在的docker存储路径

二. 安装python3或则conda

这里推荐安装conda,环境切换方便

2.1 python3的安装

2.1.1 前期准备

注意这里需要将openssl升级到1.0.2,因为不然pip3 安装包的时候会出现无法访问http请求。

步骤:

#安装openssl 1.0.2r版本
cd /home/install
wget http://www.openssl.org/source/openssl-1.0.2r.tar.gz #下载openssl包
tar -zxvf openssl-1.0.2r.tar.gz #解压
cd openssl-1.0.2r    #进入文件夹
./config shared zlib #配置
make && make install #解析和安装
make clean //清除掉配置编译的一些文件
rm -rf openssl* #删除 可以保留
mv /usr/bin/openssl /usr/bin/openssl.bak #复制老的做备份
mv /usr/include/openssl /usr/include/openssl.bak #复制老的做备份
ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl #建立新的软链接 usr/local/ssl/为安装路径
ln -sf /usr/local/ssl/include/openssl /usr/include/openss #建立新的软链接 usr/local/ssl/为安装路径
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf #写入openssl库文件的搜索路径
ldconfig -v #使修改后的/etc/ld.so.conf生效
openssl version #查看新版号
2.1.2 安装python3.8
  • 安装依赖包:yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
  • 安装wget:yum install wget
  • 下载python3.8源码包:wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
  • 解压压缩包:tar -zxvf Python-3.8.1.tgz
  • 进入文件夹:cd Python-3.8.1
  • 配置安装目录并指定使用openssl: ./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/ssl
  • 编译安装:make && make install
  • 查看python3的路径:which python3 我们可以看到在/usr/local/bin/python3
  • 添加python3的软链接:ln -s /usr/local/python3/bin/python3.8 /usr/local/bin/python3
  • 添加 pip3 的软链接:ln -s /usr/local/python3/bin/pip3.8 /usr/local/bin/pip3
  • 如果上述无法添加软连接,直接删除之前创建的软连接再次添加即可:rm -rf /usr/local/bin/python3rm -rf /usr/local/bin/pip3
2.1.3 设定pip/pip3源

为什么要指定源,下载速度更快

步骤:

  • 进入个人目录:cd ~
  • 创建文件夹:mkdir .pip
  • 进入pip文件夹:cd .pip
  • 编辑文件pip.conf:
[global]
index-url=https://pypi.mirrors.ustc.edu.cn/simple

2.2 安装conda

2.2.1 下载minicoda并安装

官网地址:Miniconda — conda documentation

  • 下载安装包之后,执行命令:sh Miniconda3-latest-Linux-x86_64.sh

  • 安装完成后,查看conda版本是否安装成功,这里最好关掉当前窗口,新开一个:conda --version

2.2.2 创建虚拟环境
  • 安装python3.8的python环境:conda create -n chatglm python=3.8

  • 查看虚拟环境(当前是在base环境):conda env list

  • 进入创建的chatglm环境:conda activate chatglm

  • 推出chatglm环境:conda deactivate

  • 删除chatglm环境:conda remove -n chatglm --all

  • 退出conda的所有环境(首先要先回到conda的base环境):conda deactivate

  • 直接进入conda的指定环境:conda activate chatglm

  • 复制conda环境:conda create -n new_env --clone base

2.2.3 自动切换到指定的env环境

由于每次连上linux后,发现conda的环境都是base环境,但是想要自己工作的env环境就需要来回切换,很不方便。所以这里推荐设置每次自动切换到指定的env环境

  • 新增.zshrc一行:source activate my_env

三. 配置vscode远程+pycharm远程

3.1 vscode远程+免密登陆

步骤:

  • 在本地机器生成密钥对(公钥+私钥):ssh-keygen
  • 私钥放本机,公钥放远程(~/.ssh路径下)
  • 在远程机器用公钥生成authorized_keys:
  • 进入home目录下的.ssh文件夹:cd ~/.ssh cat id_rsa.pub >> authorized_keys
  • vscode config文件加入本机私钥路径

3.2 pycharm远程

步骤:

  • 新建一个工作目录,同时在远端也新建一个同名目录

  • 然后选择远程conda的python解释器,同时将本地目录和远程目录进行映射

  • 在deployment的configuration下配置登录远程的账号密码

四. 美化terminal

  • 安装 zsh:yum install -y zsh
  • 切换默认 Shell 为 zsh:chsh -s /bin/zsh
  • 安装 Oh My Zsh:sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • 显示绝对路径:vim ~/.oh-my-zsh/themes/robbyrussell.zsh-theme
  • 修改这行,把c改成d:PROMPT+=' %{$fg[cyan]%}%d%{$reset_color%} $(git_prompt_info)'