python virtualenv虚拟环境配置与使用教程详解
作者:授客 发布时间:2023-01-21 23:06:56
概述
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即可。
来源:https://www.cnblogs.com/shouke/archive/2020/07/13/13291253.html


猜你喜欢
- 简介枚举是与多个唯一常量绑定的一组符号因为枚举表示的是常量,建议枚举成员名用大写IntEnum 便于进行系统交互初试from enum im
- 引言Supabase是一个自称的 "开源Firebase替代品"。我对与Supbase合作已经有一段时间了,我想我将尝试
- 今天分享一下Django实现的简单的文件上传的小例子。步骤 •创建Django项目,创建Django应用 •设计模型&n
- Python int() 函数描述int() 函数用于将一个字符串或数字转换为整型。语法以下是 int() 方法的语法:class int(
- mysql mysqldump 只导出表结构 不导出数据mysqldump --opt -d 数据库名 -u root -p > xx
- 在利用opencv进行图片处理时,经常需要查看图片关心区域或位置的像素数值,苦于没有应手的小软件,我用python3.6+opencv3.4
- 如何让用户也能修改密码? 好了,照下面添加到你要添加的地方去:<%id = Request(&qu
- 一、安装github:https://github.com/kubernetes-client/python安装pip install ku
- 这两条是关于IE环境中的CSS的。不要使用import引入CSS,可以避免内容的无样式瞬间(FOUC)问题。不要把样式的link放到页面后(
- 用户登录验证脚本,Chkpwd.asp<% '=======用户登录验证脚本======= '如果尚未定义Passed
- 客户的一台服务器出现Raid故障,经过我们的努力,数据基本恢复成功,但是其中的一个SQL Server日志文件(扩展名LDF)损坏严重,基本
- 今天用numpy 的linalg.det()求矩阵的逆的过程中出现了一个错误:TypeError: No loop matching the
- 前奏为了能操作数据库, 首先我们要有一个数据库, 所以要首先安装Mysql, 然后创建一个测试数据库python_test用以后面的测试使用
- 一、功能需求1.根据输入内容进行模糊查询,选择地址后在地图上插上标记,并更新经纬度坐标显示2.在地图点击后,根据回传的左边更新地址信息和坐标
- 简介提到爬虫,大部分人都会想到使用Scrapy工具,但是仅仅停留在会使用的阶段。为了增加对爬虫机制的理解,我们可以手动实现多线程的爬虫过程,
- 一:编译器 编译器是一种特殊的程序,它可以把以特定编程语言写成的程序变为机器可以运行的机器码。我们把一个程序写好,这时我们利用的环境是文本编
- 浅谈python中set使用In [2]: a = set() # 常用操作1 In [3]: a Out[3]: set()
- 本文实例讲述了Python实现的求解最小公倍数算法。分享给大家供大家参考,具体如下:简单分析了一下,前面介绍的最大公约数的求解方法跟最小公倍
- 运动模糊:由于相机和物体之间的相对运动造成的模糊,又称为动态模糊Opencv+Python实现运动模糊,主要用到的函数是cv2.filter
- 本文实例为大家分享了PyQt5实现画布小程序的具体代码,供大家参考,具体内容如下实现的效果图如下:该实例中,涉及到的知识点有:1.PyQt5