详解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:\Users\Administrator\Envs, 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是如何使用的的文章就介绍到这了

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/9792.html

(0)
晴川运维晴川运维
上一篇 2025年6月19日
下一篇 2025年6月19日

相关推荐

  • 如何使用 syslog-ng 从远程 Linux 机器上收集日志

    如果你的数据中心全是 Linux 服务器,而你就是系统管理员。那么你的其中一项工作内容就是查看服务器的日志文件。但是,如果你在大量的机器上去查看日志文件,那么意味着你需要挨个去登入…

    Linux系统 2025年10月23日
  • CSS Fonts(字体)设置方法

    使用css的目的就是让网页具有美观一致的页面,另外一个最重要的原因是内容与格式分离,本篇文章重点为大家讲解一下CSS字体设置方法。 serif和sans-serif字体之间的区别 …

    Linux系统 2025年6月16日
  • 简单聊一下Unix 和 Linux区别

    UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代…

    Linux系统 2025年9月24日
  • Linux下查看系统架构具体方法

    计算机的体系结构从指令集的复杂度上可以分两类,一是复杂指令集CISC,主要是X86架构。另一类是精简指令集RISC,这个比较多,主要是ARM、MIPS、PowerPC等,本篇文章为…

    Linux系统 2025年6月8日
  • Shell test命令(Shell [])详解,附带所有选项及说明

    test 是 Shell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,并且大部分 if 语句都依赖 test。 test 命令有很多选项,可以进行数值…

    Linux系统 2025年6月8日
  • Go 代码中如何绑定 Host

    Go 代码中如何绑定 Host?本篇重点为大家讲解一下Go 代码绑定 Host具体方法, 有需要的小伙伴可以参考一下。 本文示例: IP:192.168.1.102,也就是说需要访…

    Linux系统 2025年7月5日
  • FreeBSD中安装VMware Tools

    VMware Tools 中包含一系列服务和组件,可在各种 VMware 产品中实现多种功能,从而使用户能够更好地管理客户机操作系统,以及与客户机操作系统进行无缝交互,下面为大家讲…

    Linux系统 2025年10月24日
  • 详解Linux系统IO分析工具iotop

    iotop是linux系统下测试硬盘IO读写的工具,简单的说,iotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息(requires…

    Linux系统 2025年10月25日
  • Shell [[]]详解:检测某个条件是否成立

    [[ ]]是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立。 test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好;test 做不到…

    Linux系统 2025年9月16日
  • 云计算的7种变化方式

    云”这个词是一个模糊不清的词,即使人们长期坚定地使用它。这种情况就好像,当政治家们陷入困境时,他喜欢说解决问题的办法常常是通过“教育”一样。在过去的十年或更长的时间里,从实习生到首…

    Linux系统 2025年6月10日

发表回复

登录后才能评论