由于每次打开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. SSH网上商城一

    Java高级项目之SSH网上商城项目实战: 1.采用目前最主流的三大框架开发即Struts2+Spring+Hibernate框架整合开发.2.通过AJAX技术提供良好的用户体验.3.提供了邮箱激活的 ...

  2. BERT的前世今生

    Transformer Transformer来自论文: All Attention Is You Need 别人的总结资源: 谷歌官方AI博客: Transformer: A Novel Neura ...

  3. python+opencv切割细胞及细胞团(持续更新)

    内容包括:游离细胞的切割,有效细胞的信息提取,找出非正常细胞,细胞团的切割,找出非正常细胞团 代码较多,请移步到我的github

  4. 如何通过Elasticsearch Scroll快速取出数据,构造pandas dataframe — Python多进程实现

    首先,python 多线程不能充分利用多核CPU的计算资源(只能共用一个CPU),所以得用多进程.笔者从3.7亿数据的索引,取200多万的数据,从取数据到构造pandas dataframe总共大概用 ...

  5. springboot + rabbitmq 用了消息确认机制,感觉掉坑里了

    本文收录在个人博客:www.chengxy-nds.top,技术资源共享,一起进步 最近部门号召大伙多组织一些技术分享会,说是要活跃公司的技术氛围,但早就看穿一切的我知道,这 T M 就是为了刷KPI ...

  6. Spring 容器的初始化

    读完这篇文章你将会收获到 了解到 Spring 容器初始化流程 ThreadLocal 在 Spring 中的最佳实践 面试中回答 Spring 容器初始化流程 引言 我们先从一个简单常见的代码入手分 ...

  7. 在 Spring Boot 中,如何干掉 if else!

    需求 传统实现 策略模式实现 ClassScanner:扫描工具类源码 总结 需求 这里虚拟一个业务需求,让大家容易理解.假设有一个订单系统,里面的一个功能是根据订单的不同类型作出不同的处理. 订单实 ...

  8. 机器学习入门:极度舒适的GBDT原理拆解

    机器学习入门:极度舒适的GBDT拆解 本文旨用小例子+可视化的方式拆解GBDT原理中的每个步骤,使大家可以彻底理解GBDT Boosting→Gradient Boosting Boosting是集成 ...

  9. 蓝桥杯javaB组入坑

    蓝桥杯Java B组 准备工作 练习入口 | 准备资料 | 查阅说明 编辑环境 我们建议您使用大赛指定的编辑环境来编写你的代码,以保证评测时和我们的编译环境一致,同时和比赛时使用的环境也一致. 推荐的 ...

  10. 隐写术工具之binwalk

    0x00Binwalk介绍 Binwalk是用于搜索给定二进制镜像文件以获取嵌入的文件和代码的工具. 具体来说,它被设计用于识别嵌入固件镜像内的文件和代码. Binwalk使用libmagic库,因此 ...