Linux下一键安装Python3&更改镜像源&虚拟环境管理技巧

简介: 主要介绍如何在Linux系统下通过shell脚本一键安装Python3,以及如何临时or永久更换镜像源、管理虚拟环境。工欲善其事必先利其器,环境搭建是一切开发&自动化测试绕不开的前提。

一、Linux安装Python3

在介绍shell脚本一键安装Python前,先来了解一下手工搭建的过程,或许更有助于我们理解自动化搭建的过程及原理。

1、手工安装方式

1)安装依赖环境

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2)下载Python3

yum -y install wget# 没安装wget工具时运行此命令wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz

3)解压

tar -xzvf Python-3.7.5.tgz

4)编译安装

yum install gcc-y# 安装gcc编译器 yum install libffi-devel -y# 3.7版本之后需要一个新的包libffi-devel cd Python-3.7.5 # 进入解压后的文件夹 ./configure --prefix=/home/python # 配置指定安装目录 make && make install # 编译&编译安装

5)配置python环境变量

exportPYTHON_HOME=/home/python
exportPATH=${PATH}:${PYTHON_HOME}/bin
vi /etc/profile # 在/etc/profile文件中加入上面两行内容source /etc/profile # 添加完需要重新加载配置

2.shell脚本方式安装

1)编写shell脚本

shell脚本本质上就是将上述一步步手工操作步骤中的命令集成一个文件中,再加入一些判断或参数交互,从而自动顺序执行、实现自动化操作。

#!/bin/shyum -y install wget# 安装wget工具yum -y install gcc# 安装gcc# 安装一堆依赖yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum -y install libffi-devel
if [ ! -f"Python-3.7.5.tgz" ]  # 判断当前目录是否存在Python安装包thenecho Python-3.7.5.tgz not exist!!!
exit-1fi`tar -zxvf Python-3.7.5.tgz`# 解压安装包if [ ! -d /home/python3 ]  # 判断home目录下是否存在python3目录,不存在就创建then`mkdir -p /home/python3`cd Python-3.7.5
./configure --prefix=/home/python3  # 配置安装目录为/home/python3make && make install  # 编译&编译安装fi# 添加Python环境变量到/etc/profileecho"export PYTHON_HOME=/home/python3" >>/etc/profile
echo"export PATH=\${PATH}:\${PYTHON_HOME}\"/bin\"" >>/etc/profile
# 重新加载配置文件,注意:执行脚本时需使用source命令而非./或sh命令,否则环境变量不生效`source /etc/profile`# 设置Python安装镜像源为阿里云`pip config set global.index-url https://mirrors.aliyun.com/pypi/simple`echo"=====`date`===== Python-3.7.5 install success !!!====="

注意事项:

执行脚本需使用source命令而非./或sh命令,否则环境变量不生效,当然也可以再通过“source /etc/profile”命令使其生效。

2)执行安装

source python_install.sh

安装成功后如下图所示:

验证一下python3是否安装成功,以及脚本最后更改的pip镜像源是否生效:

从上图可以看出,python3安装成功,python镜像源已成功替换为阿里云镜像源。

3.卸载python3

rpm -qa|grep python3|xargs rpm -ev--allmatches--nodeps# 卸载python3whereis python3 |xargs rm-frv# 删除python3所有残余文件,注意是卸载Python3,千万要带3,否则会把系统自带的Python2和yum(依赖Python2)也卸载了whereis python3  # 查看是否存在python3python3 # 进入python解释器环境,若提示“-bash: python3: command not found”则说明卸载成功

三、Python虚拟环境管理

在日常项目开发过程中,由于每个项目所用到的依赖包版本可能不一致,尤其是一些老项目。因此,为了避免各个项目之间环境相互“污染”,我们可以针对各个项目分别建立各自的虚拟环境。

python3 -m venv auto_test # 新建名为auto_test的虚拟环境目录 cd auto_test/bin # 进入虚拟环境所在文件夹的bin目录(Windows进入Scripts目录)source activate # 激活虚拟环境(Linux&Mac系统用source命令,Windows用.\activate.bat命令激活

激活成功后,命令行最前面会显示一个:(虚拟环境名称)

四、配置pip安装镜像源

1.临时指定安装镜像源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple(镜像地址) module(模块名称)

国内镜像源:

清华:
https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:
http://mirrors.aliyun.com/pypi/simple/

中国科技大学
https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:
http://pypi.hustunique.com/

山东理工大学:
http://pypi.sdutlinux.org/

豆瓣:
http://pypi.douban.com/simple/

2.永久更改安装镜像源

细心的同学或许会发现,其实在上述shell脚本中已经配置了阿里云的镜像源,不过如果没有通过脚本配置,我们也可以手工配置。

1)Linux系统

如果不想每次安装第三方包的时候都指定镜像源,也可以使用如下方法永久指定安装镜像源,一劳永逸

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple # 永久配置国内镜像源pip config list # 查看下载源配置列表

配置好镜像源后,可以使用“pip config list”命令查看下载源配置列表,具体写入的配置文件路径为:
/root/.config/pip/pip.conf

2)windows系统

windows系统设置和查看方法相同

五、Python包批量导出&安装

pip freeze > requirements.txt # 导出当前环境下已安装的依赖包列表到指定文件 pip download -r requirements.txt -d . # 下载指定文件中的所有依赖包,不安装pip install -r requirements.txt  # 批量安装


相关文章
|
4天前
|
NoSQL Linux 测试技术
Redis的安装(Linux版)
Redis的安装(Linux版)
41 1
|
14天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
72 0
|
14天前
|
Linux C语言
linux yum安装ffmpeg 图文详解
linux yum安装ffmpeg 图文详解
32 0
|
14天前
|
NoSQL Linux Redis
linux 下和win下安装redis 并添加开机自启 图文详解
linux 下和win下安装redis 并添加开机自启 图文详解
17 0
|
14天前
|
Linux
linux yum 安装rar和unrar
linux yum 安装rar和unrar
47 0
|
15天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
1天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
3 0
|
1天前
|
Ubuntu Linux 开发工具
WSL2(3)安装Linux headers完美解决方案
WSL2(3)安装Linux headers完美解决方案
3 0
|
1天前
|
Linux 开发工具 C语言
Linux 安装 gcc 编译运行 C程序
Linux 安装 gcc 编译运行 C程序
10 0
|
1天前
|
Ubuntu Linux Python
Linux(15)Ubuntu安装ninja构建工具
Linux(15)Ubuntu安装ninja构建工具
8 0