Python虚拟环境virtualenv的安装与使用详解

发布时间 - 2026-01-11 01:28:48    点击率:

前言

动态语言Ruby、Python都有自己的虚拟环境,虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。例如项目可以在基于Python2的环境中运行,而项目B可以在基于Python3的环境中运行。Python通virtualenv工具管理虚拟环境。

安装 virtualenv

$ pip install virtualenv

使用方法

$ cd my_project_folder
$ virtualenv venv

执行完命令后它会在当前目录下创建文件夹,这个文件夹包含一些Python执行文件,以及pip副本,用于安装其他的packges。

.
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── activate_this.py
│ ├── easy_install
│ ├── easy_install-3.5
│ ├── pip
│ ├── pip3
│ ├── pip3.5
│ ├── python -> python3
│ ├── python3
│ ├── python3.5 -> python3
│ └── wheel
├── include
│ └── python3.5m -> /Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m
└── lib
 └── python3.5

此外在创建env的时候可以选择指定的Python解释器,例如下面是基于Python3创建的虚拟环境

$ virtualenv -p /usr/local/bin/python3 venv

默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数 --no-site-packages建立虚拟环境

virtualenv --no-site-packages [虚拟环境名称]

激活虚拟环境

cd env
source ./bin/activate

激活成功后,在命令行会显示虚拟环境的名称,类似((env)Your-Computer:your_project UserName$)

退出虚拟环境

$ deactivate

如果想删除虚拟环境,那么直接运行rm -rf venv/命令即可。

在虚拟环境安装Python packages

Virtualenv 附带有pip安装工具,因此需要安装的packages可以直接运行:

pip install [套件名称]

如果没有启动虚拟环境,系统环境也安装了pip工具,那么packages将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:

export PIP_REQUIRE_VIRTUALENV=true

如果在没开启虚拟环境时运行pip,就会提示错误:

Could not find an activated virtualenv (required).

Virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:

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

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

      3. 切换虚拟环境

      4. ...

安装Virtualenvwrapper

安装Virtualenvwrapper前需要virtualenv已近安装

$ pip install virtualenvwrapper

此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,先别急,打开这个文件看看,里面有安装步骤,我们照着操作把环境设置好。

1、创建目录用来存放虚拟环境

mkdir $HOME/Envs

编辑~/.zshrc或~/.bashrc(根据你使用shell类型决定)

export WORKON_HOME=$HOME/Envs source /usr/local/bin/virtualenvwrapper.sh 3. 运行:

$ source ~/.zshrc

此时virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:

1、列出虚拟环境列表

workon 或者 lsvirtualenv

新建虚拟环境

mkvirtualenv [虚拟环境名称]

2、启动/切换虚拟环境

workon [虚拟环境名称]

3、删除虚拟环境

rmvirtualenv [虚拟环境名称]

4、离开虚拟环境,和virutalenv一样的命令

deactivate

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家的支持。


# python  # virtualenv  # python3  # python3.5  # Python虚拟环境Virtualenv使用教程  # Python 虚拟环境venv详解  # Python虚拟环境venv用法详解  # python3.6的venv模块使用详解  # python虚拟环境模块venv使用及示例  # 深入理解Python之.env  # 安装在  # 自己的  # 就会  # 都有  # 运行环境  # 也会  # 目录下  # 其他的  # 会在  # 不受  # 如果没有  # 将被  # 可以直接  # 它可以  # 这篇文章  # 才行  # 可以选择  # 谢谢大家  # 还不能  # 第三方 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何选择可靠的免备案建站服务器?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  如何用花生壳三步快速搭建专属网站?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  如何快速辨别茅台真假?关键步骤解析  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  非常酷的网站设计制作软件,酷培ai教育官方网站?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何在宝塔面板创建新站点?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何在香港免费服务器上快速搭建网站?  java中使用zxing批量生成二维码立牌  如何在腾讯云免费申请建站?  高端建站三要素:定制模板、企业官网与响应式设计优化  详解jQuery中基本的动画方法  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  公司网站制作价格怎么算,公司办个官网需要多少钱?  网站建设保证美观性,需要考虑的几点问题!  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Laravel如何处理表单验证?(Requests代码示例)  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  独立制作一个网站多少钱,建立网站需要花多少钱?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  如何用AI帮你把自己的生活经历写成一个有趣的故事?  nodejs redis 发布订阅机制封装实现方法及实例代码  Laravel Fortify是什么,和Jetstream有什么关系  Laravel中的withCount方法怎么高效统计关联模型数量  JavaScript Ajax实现异步通信  Linux后台任务运行方法_nohup与&使用技巧【技巧】  清除minerd进程的简单方法  如何快速搭建安全的FTP站点?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  javascript基本数据类型及类型检测常用方法小结  Laravel如何处理和验证JSON类型的数据库字段  高防服务器如何保障网站安全无虞?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Laravel怎么使用Intervention Image库处理图片上传和缩放  如何在建站宝盒中设置产品搜索功能?  Python并发异常传播_错误处理解析【教程】  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  长沙做网站要多少钱,长沙国安网络怎么样?  如何挑选高效建站主机与优质域名?  如何生成腾讯云建站专用兑换码?  七夕网站制作视频,七夕大促活动怎么报名?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  香港服务器如何优化才能显著提升网站加载速度?  Laravel如何使用Collections进行数据处理?(实用方法示例)