Linux管理虚拟环境

作为一个轻度强迫症患者,总喜欢分门别类的归置一些物品,在编程当中,也是这样子的。

在这里插入图片描述

对于在Python中,如果想要将每一个项目的依赖包都独立出来,即新建每一个项目都新建一个环境。而不是像我们在入门阶段时,把所有pip install命令安装的包都放在一个文件夹里面。

一、安装python

首先是Linux系统中已经具备python环境,其中方法1最为常用

方法1:
如果是云服务器的话,国内的阿里云和腾讯云等服务器镜像库里都已经有了python3的安装。即使用sudo yum install python3进行安装。
方法2:
如果是标准的Linux服务器的话,里面是不含有python3的yum安装包,因此需要安装EPEL,即Extra Packages for Enterprise Linux的简称。

  1. 使用 sudo yum install epel-release 命令安装 epel 扩展软件包。
  2. 使用 sudo yum install python3 安装Python3版本。

方法3:

  1. 进入https://www.python.org/downloads/source/的python官网选择python版本,并下载tar包。
  2. 使用tar命令对Linux目录中的包文件进行解压tar -zxvf Python3.7.5.tgz
  3. 进入解压后的文件cd Python-3.7.5,运行./configure命令,生成makefile文件
  4. 运行 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xzdevel libffi-devel命令安装缺少的模块
  5. 运行sudo make & sudo make install命令,安装Python.

提示:
; (分号)cmd1; cmd2 表示执行完cmd1后,执行cmd2,无论cmd1指令是否执行成功
|| (两个或运算符) cmd1 || cmd2 # 先执行cmd1,cmd1执行失败以后才会执行cmd2
&&(两个与运算符) cmd1 && cmd2 # 先执行cdm1,cmd1执行成功以后,才会执行cmd2

  1. 运行sudo make & sudo make install命令,安装Python.
  2. 运行ln -s /usr/local/bin/python3.7 /usr/bin/python3命令,在 /usr/bin目录下建立Python3.7的软连接。

软连接的意思就是将python3.7 变为python3的快捷方式

  1. 运行python3命令可以打开python3.7
  • 问题:但是此时每次python安装环境时都要使用pip3 这个命令,可否使用pip这个命令启动pip,答案是可以的。
  • 解决方式
    1. 进入/usr/bin这个目录。
    1. 使用ll pip*,列出所有名字中以pip开头的文件。
    1. 使用rm pip,删除pip文件
    1. 使用sudo ln -s pip3 pip增加名为pip的软链接,指向pip3
  • 提示:如果提示权限不够的话,在命令前面增加 sudo 指令

二、安装virtualenv

借用廖雪峰前辈的总结就是:

virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题

1. 安装virtualenv

sudo pip install virtualenv

2.安装virtualenvwrapper

sudo pip install virtualenvwrapper
在安装完这两个文件是否可以愉快的玩耍了?答案是:No。
此时我们还需要配置一下用户目录下的.bashrc文件,当然也可以把它加到根目录下的.bashrc文件。当然,这种做法是不推荐的。
.bashrc末尾处添加以下命令:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=~/.envs
source /usr/local/bin/virtualenvwrapper.sh

提示:

第一句:export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3的意思是: 指定虚拟环境下默认的python版本是python3
第二句:export WORKON_HOME=~/.envs的意思是: 指定新创建的虚拟环境保存在~/.envs当中,
第三句:source /usr/local/bin/virtualenvwrapper.sh的意思是:执行virtualenvwrapper.sh脚本

3.执行~/.bashrc文件

source ~/.bashrc

提示:这段命令的意思是执行脚本文件~/.bashrc,否则将需要重新连接云服务器。在启动服务器的时候,会自动执行该脚本文件

4.新建虚拟环境

使用mkvirtualenv test命令就可以新建一个名字叫做test的虚拟环境,并且存放在~/.envs当中.

在这个新的虚拟环境中,python所下载的包都放在同一个地方:/home/JiangCheng/.envs/test/lib/python3.6/site-packages,如下图所示:

在这里插入图片描述

5.管理虚拟环境的指令:

mkvirtualenv test  # 创建并切换到test虚拟环境
deactivate  # 离开test虚拟环境
rmvirtualenv test # 删除test虚拟环境
workon demo # 切换到demo虚拟环境
rmvirtualenv test# 删除虚拟环境test

提示:在某一环境中使用pip install某一个包时,不能使用sudo的命令!!!否则会将包安装到大的虚拟环境:/usr/local/lib64/python3.6/site-packages这个目录里面

发布了12 篇原创文章 · 获赞 16 · 访问量 434

猜你喜欢

转载自blog.csdn.net/qq_41982039/article/details/104825921