详解Python虚拟环境virtualenv

2023年 7月 25日 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

详解Python虚拟环境virtualenv

VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。

了解虚拟环境

如果在一台机器上,想开发多个不同的项目,需要用到同一个包的不同版本,如果还使用上面的命令,在同一个目录下安装或者更新,其它的项目必须就无法运行了,如何办呢?

解决方案:虚拟环境

那么什么是虚拟环境呢?

虚拟环境其实就是对真实 python 环境的复制,这样我们在复制的 python 环境中安装包就不会影响到真实的python环境。通过建立多个虚拟环境,在不同的虚拟环境中开发项目就实现了项目之间的隔离。

虚拟环境库的安装

我们这里使用 virtualenv 来创建虚拟环境。

pip 默认的源安装第三库会有点慢,可以配置一下其他的镜像源。

Windows上安装

在 cmd 窗口查看系统是否安装了virtualenv:

virtualenv --version  

pip 安装 virtualenv

pip3 install virtualenv  pip3 install virtualenvwrapper-win  

virtualenvwrapper-win虚拟环境扩展包(指令便捷)

虚拟环境创建

在 cmd窗口 下创建 python3 虚拟环境 py_django:

mkvirtualenv -p python3 py_django  

注意:

Windows 创建的虚拟环境默认在C:UsersAdministratorEnvs, Administrator 代表我当前电脑使用的用户你们的可能在其他用户下,如需指定创建的虚拟环境的存放的路径,可以在电脑的系统环境变量中添加WORKON_HOME系统变量

Python虚拟环境virtualenv使用说明Python虚拟环境virtualenv使用说明

Linux上安装

安装虚拟环境

sudo pip3 install virtualenv  sudo pip3 install virtualenvwrapper  

需保证 Linux上有 Python3的环境。

安装完虚拟环境后输入如下指令测试

mkvirtualenv test  

如果提示找不到mkvirtualenv命令,须配置环境变量

# 1、创建目录用来存放虚拟环境  mkdir $HOME/.virtualenvs    # 2、打开~/.bashrc文件  vim ~/.bashrc    # 2.1 添加如下两行  export WORKON_HOME=$HOME/.virtualenvs  source /usr/local/bin/virtualenvwrapper.sh    # 3、运行  source ~/.bashrc  

WORKON_HOME 存放虚拟环境目录位置可以自己单独设置。

创建虚拟环境

mkvirtualenv py_flask  

进入虚拟环境

workon py_flask  

退出虚拟环境

如果所在环境为真实环境,会提示deactivate:未找到命令

deactivate py_flask  

虚拟环境指令

Windows 和 Linux 平台上的指令都一致。

Python虚拟环境virtualenv使用说明Python虚拟环境virtualenv使用说明

注意:

先退出:deactivate  再删除:rmvirtualenv 虚拟环境名称  

虚拟环境总结

一、使用虚拟环境不会让主解释器好多库乱

二、例如在单独的虚拟环境下安装 Flask,就知道在后续开发中所使用的所有库,用pip freeze命令就知道你的项目需要什么环境,而在主解释器有好多项目没用到的库。使用虚拟环境到部署到服务器上则方便环境配置,不需要一个一个筛选所需库。

在虚拟环境中利用

pip freeze 查看项目所需库环境。

pip freeze > requirements.txt导出项目所需库信息。

pip install -r requirements.tx批量安装项目所需库。

三、在同一台机器上开发多个项目,而遇到项目所需同一库的版本不一致。因此使用虚拟环境让每个项目独立隔离出来,可以单独使用不同版本库。

到此这篇关于Python虚拟环境virtualenv是如何使用的的文章就介绍到这了

本文来源:www.lxlinux.net/9343.html,若引用不当,请联系修改。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: