当前位置: 首页 > news >正文

Python虚拟环境virtualenv手册

python 的虚拟环境可以为一个 python 项目提供独立的解释环境、依赖包等资源,既能够很好的隔离不同项目使用不同 python 版本带来的冲突,而且还能方便项目的发布。

virtualenv

virtualenv可用于创建独立的 Python 环境,它会创建一个包含项目所必须要的执行文件。

安装 virtualenv

$ pip install virtualenv

配置 pip 安装第三方库的镜像源地址

我们都知道,国内连接国外的服务器都会比较慢,有时候设置下载经常出现超时的情况。这时可以尝试使用国内优秀的豆瓣源镜像来安装。

使用豆瓣源安装 virtualenv

pip install -i https://pypi.douban.com/simple virtualenv

virtualenv使用方法

如下命令表示在当前目录下创建一个名叫 env 的目录(虚拟环境),该目录下包含了独立的 Python 运行程序,以及 pip副本用于安装其他的 packge

virtualenv env

当然在创建 env 的时候可以选择 Python 解释器,例如:

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

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

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

启动虚拟环境

cd ENV
source ./bin/activate

注意此时命令行会多一个(ENV),ENV为虚拟环境名称,接下来所有模块都只会安装到这个虚拟的环境中去。

退出虚拟环境

deactivate

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

在虚拟环境安装 Python packages

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

pip install [套件名称]

Virtualenvwrapper

Virtualenvwrapper 是一个虚拟环境管理工具,它能够管理创建的虚拟环境的位置,并能够方便地查看虚拟环境的名称以及切换到指定的虚拟环境。

安装(确保virtualenv已经安装)

pip install virtualenvwrapper

或者使用豆瓣源

pip install -i https://pypi.douban.com/simple virtualenvwrapper-win

注:安装需要在非虚拟环境下进行

创建虚拟机

mkvirtualenv env

创建虚拟环境完成后,会自动切换到创建的虚拟环境中

当然也可以指定虚拟机的 python 版本

mkvirtualenv env -p C:\python27\python.exe

列出虚拟环境列表

workon 或者 lsvirtualenv

启动/切换虚拟环境

使用 workon [virtual-name] 即可切换到对应的虚拟环境

workon [虚拟环境名称]

删除虚拟环境

rmvirtualenv [虚拟环境名称]

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

deactivate

相关文章:

  • 计算机网络(第八版)期末复习(第四章网络层)
  • leetcode每日一题41
  • C语言——格式说明符前面加修饰符
  • Python算法例33 删除数字
  • 陈述式资源管理(2)
  • 动画墙纸:将视频、网页、游戏、模拟器变成windows墙纸——Lively Wallpaper
  • 阿里云2核2G3M服务器上传速度多少?下载速度快吗?
  • 编程语言的进化:智能化与多样化的未来
  • 机器学习之主成分分析(Principal Component Analysis,PCA)案例解析附代码
  • 深度理解Flutter:有状态Widget与无状态Widget的详细对比
  • 华为ipsec双冗余配置案例
  • 为什么游戏服务端用开发效率低的C++来写,其他语言无法胜任吗?
  • Go语言程序设计-第5章--函数
  • 【Swagger】常用注解的使用、SpringBoot的整合及生产环境下屏蔽Swagger
  • [每周一更]-(第43期):Golang版本的升级历程
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • CSS 专业技巧
  • Java多线程(4):使用线程池执行定时任务
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Laravel Telescope:优雅的应用调试工具
  • Python实现BT种子转化为磁力链接【实战】
  • Rancher-k8s加速安装文档
  • VUE es6技巧写法(持续更新中~~~)
  • Vue.js-Day01
  • vue--为什么data属性必须是一个函数
  • Webpack 4 学习01(基础配置)
  • 分布式熔断降级平台aegis
  • 关于extract.autodesk.io的一些说明
  • 解析 Webpack中import、require、按需加载的执行过程
  • 网络应用优化——时延与带宽
  • MyCAT水平分库
  • 阿里云ACE认证学习知识点梳理
  • (1)(1.11) SiK Radio v2(一)
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C语言)fgets与fputs函数详解
  • (多级缓存)多级缓存
  • (二)fiber的基本认识
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (十一)手动添加用户和文件的特殊权限
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .NET Core引入性能分析引导优化
  • .net MySql
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .Net6 Api Swagger配置
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .Net转前端开发-启航篇,如何定制博客园主题