由于每次打开linux虚拟机比较麻烦,于是尝试一下云服务器,在阿里云领取了一个月的试用服务器,这里记录一下新服务器从0配置成python开发环境的步骤,以便以后配置新服务器时有个参考。

免费领取一个月阿里云服务器试用

在下面网址可以免费领用一个月开发者入门级服务器,需先实名认证和填写调查问卷

https://free.aliyun.com/?spm=5176.10695662.1395584.1.28142c4f3IWndj

领取后进入控制台,可以看到领取的服务器信息,可以找到分配的公网IP,用自己的电脑ping一下看是否能ping通,能ping通的话就能够远程SSH登录了。

重置实例密码

领取后会默认给root用户一个密码,而这个密码我们并不知道,因此需要重置root用户密码,进入控制台,找到刚才领用的服务器,进入实例,勾选实例,点击重置实例密码。

重置后,通过Xshell工具远程登录服务器

创建python用户并赋予sudo权限

使用root用户登录,创建用户python(同时会默认创建名为python的用户组)

# useradd python

设置python密码

# passwd python

赋予sudo权限,编辑 /etc/sudoers 文件,找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名),使用命令 :w! 强制保存该文件

## Allow root to run any commands anywhere
root ALL=(ALL) ALL
python ALL=(ALL) ALL

现在可以切换至python使用sudo命令了

修改主机名

编辑 /etc/hostname 文件,将里面的默认主机名改成想要的主机名,如:Aliyun123,然后进入控制台重启服务器

安装python3和pip3

下载最新python3.8.3

https://www.python.org/downloads/source/

安装python3

# 解压
tar -zxf Python-3.8..tgz
# 安装依赖包
sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc libffi-devel
# 进入python目录
cd Python-3.8.
# 编译
./configure --prefix=/usr/local/python3
#安装
sudo make && make install

CentOS7默认安装了python2.x,并创建了对应的软连接python2,又创建了一个软连接python指向软连接python2

# ll /usr/bin

这里我们新建一个新的软连接python3指向我们安装的python3,将原来的软连接python重新指向我们创建的软连接python3

# ln -s /usr/local/python3/bin/python3. /usr/bin/python3
# rm python
# ln -s /usr/bin/python3 /usr/bin/python

这样输入python指向的就是python3,输入python2指向python2

pip安装同理

将python添加至环境变量PATH中:

$ echo 'export PATH=/usr/local/python3/bin:$PATH' >>~/.bashrc
$ source ~/.bashrc

修改yum配置

yum包管理是使用python2.x写的,将python2.x升级到python3.x后,yum命令会运行失败,因此需要修改yum配置,将yum、urlgrabber-ext-down两个文件内的的 #!/usr/bin/python 改为 #!/usr/bin/python2.7

# vi /usr/bin/yum
#!/usr/bin/python2.
# vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.

安装虚拟开发环境

安装virtualenv

# pip install virtualenv

安装virtualenvwrapper

virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做: - 将所有虚拟环境整合在一个目录下 - 管理(新增,删除,复制)虚拟环境 - 快速切换虚拟环境

# pip install virtualenvwrapper
// then make Bash load virtualenvwrapper automatically
# echo "source virtualenvwrapper.sh" >> ~/.bashrc
# source ~/.bashrc

virtaulenvwrapper的环境管理命令

# 创建虚拟环境并激活
mkvirtualenv venvname
# 或
mkvirtualenv --python=python3. venvname
# 激活环境
workon #列出虚拟环境列表
workon [venvname] #切换环境
# 退出环境
deactivate
# 删除环境
rmvirtualenv venv

安装Neovim

下载neovim

方式一:从yum源中下载,目前下载的版本是NVIM v0.3.0

# yum install neovim

方式二:从官网下载最新版 NVIM v0.5.0:https://github.com/neovim/neovim/releases

  1、下载

  2、赋予可执行权限:

chmod u+x nvim.appimage

  3、放入 /usr/bin 目录

sudo mv nvim.appimage /usr/bin/nvim

  4、直接输入nvim打开nvim界面,如果打开失败,报错‘AppImages require FUSE to run.’,则需要安装一下FUSE

# install from EPEL
sudo yum --enablerepo=epel -y install fuse-sshfs

  5、再重新打开nvim就不会报错了

配置nvim,打造python开发IDE

nvim的配置文件路径为~/.config/nvim/init.vim,没有该路径需要自行创建该路径,init.vim配置可以自行网上参考python开发相关配置,我参考的是 https://jdhao.github.io/2018/09/05/centos_nvim_install_use_guide/ 和 https://ncfun.gitee.io/2019/11/06/Neovim%E9%85%8D%E7%BD%AEPython%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83/ ,这里我把自己虚拟机的nvim配置直接放过来,创建路径

mkdir -p ~/.config/nvim/

将init.vim文件复制进上面创建的路径

vim-plug 安装

  1. 安装 vim-plug 这个插件本身,运行以下命令安装:

    curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

    安装 vim-plug 以后,可能需要退出 Nvim 重新进入。

  1. 编辑 init.vim 文件,在该文件中加入 vim-plug 配置部分:

    call plug#begin('~/.local/share/nvim/plugged')
    ......
    call plug#end()

    所有其它插件的安装都要放在两个 call 命令之间

安装其他插件

打开nvim,命令行输入:PlugInstall,等待配置的插件下载完成

安装git

$ sudo yum install git-all

安装tmux

方式一:从yum源中下载,目前下载的版本是tmux 1.8

$ sudo yum install tmux

方式二:从官网下载最新版,目前最新版为3.1b:https://github.com/tmux/tmux/wiki/Installing ,下载后文件名为 tmux-3.1b.tar.gz

  1、Building dependencies,下载依赖库

    在tmux官网上进入 libevent 和 ncurses 网址下载,下载的文件如:ncurses.tar.gz 和 libevent-2.1.11-stable.tar.gz

  2、安装依赖库

    For libevent:

tar -zxf libevent-*.tar.gz
cd libevent-*/
./configure --prefix=$HOME/local --enable-shared
make && make install

    For ncurses:

tar -zxf ncurses-*.tar.gz
cd ncurses-*/
./configure --prefix=$HOME/local --with-shared --with-termlib --enable-pc-files --with-pkg-config-libdir=$HOME/local/lib/pkgconfig
make && make install

  3、安装tmux-3.1b.tar.gz

tar -zxf tmux-*.tar.gz
cd tmux-*/
PKG_CONFIG_PATH=$HOME/local/lib/pkgconfig ./configure --prefix=$HOME/local
make && make install

  tmux 安装后路径为~/local/bin/tmux  

  4、配置环境信息,使新安装的tmux生效

    运行命令

LD_LIBRARY_PATH=$HOME/local/lib $HOME/local/bin/tmux -V
MANPATH=$HOME/local/share/man man tmux

    编辑~/.bash_profile 文件

export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
export MANPATH=$HOME/local/share/man:$MANPATH

配置tmux

使用配置文件 https://github.com/gpakosz/.tmux/blob/master/README.md

$ cd
$ git clone https://github.com/gpakosz/.tmux.git
$ ln -s -f .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local .

编辑~/.bashrc,添加快捷键和设置终端前面用户和主机的颜色,保存后运行:source ~/.bashrc

# alias
alias tnew='tmux new -s'
# color
if tty -s; then
set -o vi
PS1='\[\e]2;\u@\h:\w\a\e[33m\](\u@\h:\w)\$ \[\e[0m\]'
case "$TERM" in
vt100) stty erase ^H ;;
xterm) stty erase ^? ;;
esac
fi

在Xshell远程连接使用tmux时的问题

1、按照上面方法配置的.tmux.conf,进入tmux后,会出现光标错行的问题

解决:因为这个.tmux.conf可能是存在兼容性的问题,因此在xshell中展示的效果和官网有点出入,可能在mac中效果最好,因此删除~/.tmux.conf.local文件,再进入tmux时光标就不会错行了,但是可能会导致部分展示功能失效,但是正常tmux快捷键操作还是和~/.tmux.conf中设置的一样是可以正常使用的

rm ~/.tmux.conf.local

若还有乱码问题尝试把xshell终端中的使用的字符集改成utf-8

2、在tmux中打开nvim时,nvim配色与直接在终端打开nvim时不一致的问题

解决:设置~/.bashrc,加入语句

alias tmux="TERM=screen-256color tmux -2"

新阿里云服务器从0开始配置为python开发环境的更多相关文章

  1. 阿里云服务器Linux CentOS安装配置(四)yum安装tomcat

    阿里云服务器Linux CentOS安装配置(四)yum安装tomcat 1.yum -y install tomcat  执行命令后,会帮你把jdk也安装好 2.tomcat安装目录:/var/li ...

  2. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  3. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  4. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

  5. 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署

    阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...

  6. 阿里云服务器 ECS Ubuntu系统安装配置

    1. 登陆服务器 系统开通成功后手机会收到阿里云发来的短信,包含公网IP及root登录密码. WEB管理后台方式 可通过阿里云管理后台选择“连接管理终端…”进行登录 提示输入VNC密码 登录成功后显示 ...

  7. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  8. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  9. 阿里云服务器Linux CentOS安装配置(三)yum安装mysql

    阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...

随机推荐

  1. Redis:缓存淘汰策略

    将redis用做缓存是一种非常常见的手段,然而由于内存大小的限制,会导致redis在内存空间满了以后需要处理继续存入的数据.总计有以下几种策略: volatile-ttl:在设置了过期时间的数据集里, ...

  2. 一场由yield引发的连串拷问

    最近在学习Python中生成器时,遇到了一个yield关键词,廖雪峰老师的官网中也没有详细的解释,经过一番查阅和研究,终于对它有了一些认识并做了总结(如有不对之处,还请大神指正). 首先先简单了解下生 ...

  3. JDK8--03:lambda表达式语法

    对于lambda表达式的基础语法,一个是要了解lambda表达式的基础语法,另外一个是需要了解函数式接口 一.lambda表达式基础语法描述 java8中引入了新的操作符  ->  ,可以称为l ...

  4. MongoDB快速入门教程 (4.3)

    4.3.Mongoose模块化 4.3.1.为什么要进行模块化拆分? 模块化拆分的目的是为了代码的复用,让整个项目的结构更加清晰,举个例子:当数据库中的集合变多的时候,例如有课程.订单.分类.教师等多 ...

  5. 【状压dp】Bzoj1294 围豆豆

    题目 Input 第一行两个整数N和M,为矩阵的边长. 第二行一个整数D,为豆子的总个数. 第三行包含D个整数V1到VD,分别为每颗豆子的分值. 接着N行有一个N×M的字符矩阵来描述游戏矩阵状态,0表 ...

  6. 数据解析_xpath

    重点推荐这种解析方式,xpath是最常用且最便捷高效的一种解析方式,通用性 1.解析原理 1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到改对象中. 2.调用etree对象中的xpa ...

  7. 浅谈JVM和垃圾回收

    写在前面 简单的介绍一下JVM(Java Virtual Machine)吧,它也叫Java虚拟机.虽然它叫虚拟机,但是实际上不是我们所理解的虚拟机,它更像操作系统中的一个进程.JVM屏蔽了各个操作系 ...

  8. Apache Hudi重磅特性解读之全局索引

    1. 摘要 Hudi表允许多种类型操作,包括非常常用的upsert,当然为支持upsert,Hudi依赖索引机制来定位记录在哪些文件中. 当前,Hudi支持分区和非分区的数据集.分区数据集是将一组文件 ...

  9. PHP一维数组快速去重、去零

    1.一维数组去重: /** * 一维数组去重,返回格式为索引数组 * @param array $data 待去重的数组 * @return array */ public static functi ...

  10. 痞子衡嵌入式:其实i.MXRT1050,1020,1015系列ROM也提供了FlexSPI driver API

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1050/1020/1015系列ROM中的FlexSPI驱动API使用. 今天痞子衡去4S店给爱车做保养了,保养一次要等两小 ...