python virtualenv虚拟环境配置与使用
python virtualenv虚拟环境配置与使用
By:赖富玉 QQ:1033553122
概述
python开发过程中,我们可能需要同时开发多款应用,这些应用可能公用同一个版本的Python程序,但是使用不同版本的第三方库,比如A应用使用six 1.12.0,而B应用需要使用six 1.15.0。这种情况下,virtualenv就派上用场了,它能为每个应用提供一套“相对独立”的Python虚拟运行环境。
注意,这里为啥是“相对独立”而不是“绝对独立”呢?针对一些.exe依赖程序,默认安装时,不会安装在虚拟环境中,安装后为各个应用共享,参考网络资料说要改注册表才可以。
虚拟环境配置与使用
测试环境
win10
python3.5
python3.6
virtualevn 20.0.23
虚拟环境配置
1. 安装virtualenv
pip install virtualenv
说明:这里的pip使用哪个python版本关联的pip(如果系统有多个python版本),取决于你系统环境变量配置
安装完后可以查看virtualenv.exe所在路径
where virtualenv
说明:如上图,实践时发现,执行pip install virtualenv命令后,根据path系统环境变量能找到的所有python都装上了virtualenv
安装完后可以通过where查看virtualenv.exe所在路径
在Python3.4之前,virtualenv需要独立手动安装后,方可执行。之后的版本中,Python自带了一个venv库,执行python –m venv就可以达到与virtalenv同样的效果。更多的用户习惯上还是使用virtualenv的方式。
下面我安装的是16.0.4版本的virtualenv。更高版本的下面有一定说明,请注意区别。
2. 创建虚拟环境
创建一个总目录,用于管理所有虚拟环境。
C:\Users\cassmall>cd /d d:
D:\>mkdir d:\PythonVirtualenvs
D:\>set path=D:\Program Files\Python35\Scripts\virtualenv.exe;%path%
D:\>virtualenv -p "D:\Program Files\Python35\python.exe" d:\PythonVirtualenvs\oldAutotestingPlatform
created virtual environment CPython3.5.4.final.0-64 in 1902ms
creator CPython3Windows(dest=d:\PythonVirtualenvs\oldAutotestingPlatform, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\cassmall\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1)
activators FishActivator,BashActivator,BatchActivator,XonshActivator,PythonActivator,PowerShellActivator
选项说明:
-p: 指定你要虚拟的Python版本,如果python路径带空格,需要为路径添加双引号,否则会报类似错误:FileNotFoundError: [WinError 2] 系统找不到指定的文件
d:\PythonVirtualenvs\oldAutotestingPlatform: 单个虚拟环境的目录路路径(路径格式推荐:总目录路径/以项目命名的目录),这里表示在PythonVirtualenvs该目录下,建立一个名叫oldAutotestingPlatform的虚拟环境。
virtualenv的早些版本,还支持–-no-site-packages参数,用于控制建立虚拟环境时不将原版本中的第三方库拷贝过来,以便获得一个纯净的Python环境,最新版本中,去掉了该参数,默认直接使用–-no-site-packages模式。
更多选项参考官方资料。
查看创建结果
使用虚拟环境
命令行下,进入你要使用的虚拟环境的目录下的script文件夹,运行activate
命令。或者使用绝对路径的方式调用该命令。
d:\PythonVirtualenvs\oldAutotestingPlatform\Scripts>activate.bat
(oldAutotestingPlatform)
d:\PythonVirtualenvs\oldAutotestingPlatform\Scripts>
如上,如果命令执行成功,会出现提示符,本例中为(oldAutotestingPlatform)
,
表示当前在oldAutotestingPlatform
这个虚拟环境内,在该环境内进行的python相关操作(运行python命令,安装python软件包等,和在常规python环境中操作一样,该怎么操作还是怎么操作),都被限制和绑定在该虚拟环境内(软件包会被安装到虚拟环境目录下的Lib\site-packages中),不会对操作系统下本地的Python版本和其它的虚拟环境产生任何的影响。
退出虚拟环境
要退出虚拟环境,只要运行script目录下的deactivate
命令就可以了。
删除虚拟环境
要删除虚拟环境,直接删除对应虚拟环境目录就可以了
virtualenv配合Pycharm的使用
可以在Pycharm中指定虚拟环境的python解释器,以便让项目在虚拟环境中运行。做法如下:
File -> Settings -> Project:xxx(具体项目) -> Project Interpreter
选择Add Local
选择对应虚拟环境目录下的Scripts\python.exe,如下,点击Ok即可。
python virtualenv虚拟环境配置与使用的更多相关文章
- python virtualenv 虚拟环境的应用
为什么要使用python的虚拟环境呢?: 首先我们来说不实用虚拟环境的情况: 在Python应用程序开发的过程中,系统安装的Python3只有一个版本:3.7.所有第三方的包都会被pip3安装到 ...
- [Python]conda与 virtualenv虚拟环境配置
参考: Anaconda使用总结 Anacodna之conda与 virtualenv对比使用教程,创建虚拟环境 conda设置Python虚拟环境 python的virtualenv环境与使用 有时 ...
- Linux - Python的虚拟环境配置的坑 virtualenv: error: unrecognized arguments: --no-site-packages
如果你在CentOS8下面配置虚拟环境时,遇到如下错误: [root@localhost ~]# mkvirtualenv my_django usage: virtualenv [--version ...
- Python Virtualenv 虚拟环境
在python2和python3共存的机器上做开发,要想互不干扰,虚拟环境很重要. Debian7 默认是python2.7.3,装好python3.4.1后怎么建立虚拟环境呢? $ pyvenv m ...
- [Mac][Python][Virtualenv]安装配置和使用
安装帮助文档安装VirtualEnv报错如下 tekiMacBook-Air:workspaces hbai$ source /usr/local/bin/virtualenvwrapper.sh / ...
- Windows Python虚拟环境配置(Distribute + pip + virtualenv + virtualenvwrapper-powershell)
对于Python开发新手,很多人会迷茫那些各种名目的工具和概念,如Python2.7, Python3.3, Distribute, pip, virtualenv,Setuptools, easy_ ...
- Python小世界:项目虚拟环境配置的N种方法
前言 和其他大多数现代编程语言一样,Python对包和 模块的下载.存储以及管理有其自己的一套方法.但是当我们同时开发多个项目工程的时候,不同的项目会将第三方的包存放在相同的路径下.这就意味着,如果有 ...
- python笔记:学习设置Python虚拟环境+配置 virtualenvwarpper+创建Python3.6的虚拟环境+安装numpy
虚拟环境它是一个虚拟化,从电脑独立开辟出来的环境.就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互 ...
- Python虚拟环境配置应用
Python好用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,为了解决这些问题,有不少发行版的Python,比如WinPython.Anaconda等,这些发行版将python ...
- 使用python的虚拟环境virtualenv
技术背景 在前面几篇博客中我们介绍了容器的使用(博客1.博客2.博客3.博客4.博客5),容器是一种系统级的隔离方案,更多的强调资源上的隔离.而这里我们要介绍的python的虚拟环境,更加强调的是依赖 ...
随机推荐
- 如果个人pc上要装不同社区版本的pycharm,安装时需要注意的一点
pycharm下载地址[包含了目前发行的所有版本]:https://www.jetbrains.com/pycharm/download/other.html 选择指定的版本,点击 勾选uninsta ...
- 8.11考试总结(NOIP模拟36)[Dove 打扑克·Cicada 与排序·Cicada 拿衣服]
我会化作人间的风雨陪在你的身边 T1 Dove 打扑克 解题思路 考场上是想了一个树状数组维护的打法,但是竟然和 \(qn^2\) 的算法一样是 65pts 暴力就是对于每一次 2 询问重新建一下树状 ...
- 认识mongodb
Mongodb是一个介于关系数据库和非关系数据库之间的产品(Nosql),是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自 ...
- kettle从入门到精通 第六十一课 ETL之kettle 任务调度器,轻松使用xxl-job调用kettle中的job和trans
1.大家都知道kettle设计的job流程文件有个缺点:只能设置简单的定时任务,无法设置复杂的如支持cron表达式的job. 今天给大家分享一个使用xxl-job调度carte的流程文件的示例.整个调 ...
- The solution of P3012
problem & blog 很明显是个 DP. 于是我们定义 \(dp_{i,j,k}\) 为末尾的字符的 ASCII 码为 \(i\),有 \(j\) 个大写字母,\(k\) 个小写字母. ...
- 编程语言界的丐帮 C#.NET 国密数字信封 民生银行
民生银行的库DLL只有C版本和JAVA版本.按着JAVA版本做的C# 实现. 重点内容. 1.数字信封就是 CmsEnvelopedData Der编码后转BASE64 2.重点类:ContentIn ...
- R-tree算法
R-tree是一种用于处理空间数据的自平衡搜索树结构,特别适合于存储和查询二维或更高维度的空间对象,如点.线段.矩形等.它在地理信息系统.计算机图形学.数据库等领域有广泛应用.R树通过将空间分割成几个 ...
- 三月二十六日 安卓打卡app开发日志
今天上午 将打卡逻辑代码优化了一下 之后每天就只可以打卡一次了 public static String daka(String time_s, String time_e, String text, ...
- 启动 bert-as-service
S1:启动bert-as-service时,执行命令 bert-serving-start -model_dir /downloads/uncased_L-12_H-768_A-12/ -num_wo ...
- Win10任务栏图标居中
win+q键搜索并打开字符映射表 点击第五行的空白字符,然后先后点击下方的选择以及复制 在桌面新建一个文件夹,然后重命名,将刚才复制的空白字符粘贴进去,如图,这样我们就拥有了一个空白名称的文件夹 在任 ...