python-virtualenv

python虚拟环境-virtualenv

因为正在配置新的项目,用到了virtualenv ,所以简单写一下 virtualenv 环境管理工具。

 virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。

Python自带了一个venv库,执行Python –m venv就可以达到与virtalenv同样的效果。更多的用户习惯上还是使用virtualenv的方式。

核心

  • 一个操作系统下,可以有多个“操作系统级别的”Python解释器
  • 每个Python解释器有一个指向自己的pip工具,两者一一对应
  • 通过virtualenv可以虚拟任何一个“操作系统级别的”Python解释器成为一个“虚拟级别”的解释器
  • 每个“虚拟级别”的解释器又拥有自己独立的pip工具和site-packages

安装virtualenv

# 通过pip安装virtualenv:
pip install virtualenv

# 测试
virtualenv --version
输出:
virtualenv 20.4.7

创建新环境

mkdir mydir
cd mydir
# 创建新环境
virtualenv mydir_env
virtualenv --no-site-packages myenv  

参数:
-p: 	              # 指定你要虚拟的Python版本
--no-site-packages    #(可省略) 不复制已经安装到系统Python环境中的所有第三方包,安装纯净的运行环境

# 如果存在多个python解释器,可以选择指定一个Python解释器
virtualenv -p /usr/bin/python3.6 mydir_env

/usr/local/bin/virtualenv -p python3 mydir_env 

virtualenv mydir_env 将会在当前的目录中创建一个文件夹,包含了Python可执行文件,以及 pip 库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 venv )可以是任意的.

激活环境

# window:
# 命令行下,进入你要使用的虚拟环境的目录下的script文件夹,运行activate命令
mydir_env\Scripts\activate.bat

# Linux:
命令行下,进入你要使用的虚拟环境的目录下的bin文件夹,运行activate
source  ./mydir_env/bin/activate


# 激活虚拟环境以后,命令行提示符(即PS1环境变量)会显示当前虚拟环境的名字
(mydir_env) $

从现在起,任何你使用pip安装的包将会放在 mydir_env 文件夹中,与全局安装的Python隔绝开。

退出环境

回到默认解释器

# window
运行script目录下的deactivate命令


# linux 
deactivate 

# 删除虚拟环境,直接删除文件夹
rm –r my_venv

其他

# virtualenv虚拟环境配合pip的freeze功能,可以一次性快捷的将整个环境下的第三方模块全部记录下来

# 用pip freeze查看当前安装版本
pip freeze

numpy==1.19.5
pandas==1.1.5
python-dateutil==2.8.1
pytz==2021.1
six==1.16.0
torch==1.4.0+cu100


# 迁移环境,将第三方包记录到txt 中
pip freeze > requirements.txt 


# 对应的,也可以用它一次性通过在别的机器上或虚拟环境里
pip install -r ./requirements.txt

virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境。

virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。

  1. 将所有虚拟环境整合在一个目录下

  2. 管理(新增,删除,复制)虚拟环境

  3. 快速切换虚拟环境

安装

pip install virtualenvwrapper
pip install virtualenvwrapper-win  # Windows使用该命令

安装完成后,在~/.bashrc写入以下内容

# 设置环境变量

export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh  

第一行:virtualenvwrapper存放虚拟环境目录

第二行:virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下bin/virtualenvwrapper.sh

source ~/.bashrc    #读入配置文件,立即生效

创建

mkvirtualenv venv  

这样会在WORKON_HOME变量指定的目录下新建名为venv的虚拟环境

 若想指定python版本,可通过"--python"指定python解释器

mkvirtualenv --python=/usr/local/python3.5.3/bin/python venv

基本命令

 查看当前的虚拟环境目录

# 列出虚拟环境列表
[root@localhost ~]# workon
py2
py3

  切换到虚拟环境

# 切换虚拟环境 

[root@localhost ~]# workon py3
(py3) [root@localhost ~]# 

  退出虚拟环境

# 退出

(py3) [root@localhost ~]# deactivate
[root@localhost ~]# 

  删除虚拟环境

rmvirtualenv venv
posted @ 2021-06-28 21:22  贝壳里的星海  阅读(1469)  评论(0编辑  收藏  举报