由于每次打开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. python 模块 来了 (调包侠 修炼手册一)

    模块 什么是模块 模块:就是一系列功能的结合体 ,也可以说 一个.py文件包含了 Python 对象定义和Python语 那么 他就 可以说是 一个模块 模块的三种来源: 1.内置的(python解释 ...

  2. Flutter开发初探

    目前跨端开发比较热门的就是 React Native 和 Flutter 了,到底该选哪门技术似乎也快成了大前端圈的一个热门话题.对于web前端来说,基于web生态的 React Native 应该是 ...

  3. Python HTTP Server (Simples)

    Simple HTTP Server 适合临时开发调试web 使用, 直接当前项目下使用python命令快速起一个http server python2 python -m SimpleHTTPSer ...

  4. 学习Java的Day03

    接口的特点!!!! 接口不能创建对象 接口的变量使用public static final修饰,如果不写默认添加: 接口的方法为public abstrict,如果不写默认添加: 子类必须重写接口中所 ...

  5. html+css快速入门教程(1)

    1 HTML简介 1.1. 什么是HTML?(了解) HTML是超文本标记语言(HyperText Markup Language,HTML)的缩写.是标准通用标记语言(SGML Standard G ...

  6. Jmeter系列(37)- 详解 ForEach控制器

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 ForEach 控制器一般和用户 ...

  7. MySQL 树形索引结构 B树 B+树

    MySQL 树形索引结构 B树 B+树   如何评估适合索引的数据结构 索引的本质是一种数据结构 内存只是临时存储,容量有限且容易丢失数据.因此我们需要将数据放在硬盘上. 在硬盘上进行查询时也就产生了 ...

  8. POJ 3463 Sightseeing 题解

    题目 Tour operator Your Personal Holiday organises guided bus trips across the Benelux. Every day the ...

  9. 6.28日模拟考试总结(T1:翻转游戏;T2:抢掠计划,T3:测绘,T4:奖学金)

    今天的考试有结束了,又一次被右边的同桌虐了(额,排名第三的大佬)但是考试还是进步了一名,算是有进步吧 成绩: 那个12名就是我,一个AC都没有,太难受了. T1: 题目链接:http://hzoi.c ...

  10. Emergency Evacuation,题解

    题目: 题意: 在某一秒,每个人可以进行一个移动:去旁边座位,去过道,在过道向出口走,求最少多少秒可以让所有人离开(具体如图和样例). 分析: 首先,我们先考虑简单的,只考虑出口前有什么事件发生:1. ...