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

python 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模式。

更多选项参考官方资料。

查看创建结果

python virtualenv虚拟环境配置与使用教程详解

使用虚拟环境

命令行下,进入你要使用的虚拟环境的目录下的script文件夹,运行activate命令。或者使用绝对路径的方式调用该命令。

d:\PythonVirtualenvs\oldAutotestingPlatform\Scripts>activate.bat

(oldAutotestingPlatform) d:\PythonVirtualenvs\oldAutotestingPlatform\Scripts>

如上,如果命令执行成功,会出现提示符,本例中为(oldAutotestingPlatform)表示当前在oldAutotestingPlatform这个虚拟环境内,在该环境内进行的python相关操作(运行python命令,安装python软件包等,和在常规python环境中操作一样,该怎么操作还是怎么操作),都被限制和绑定在该虚拟环境内(软件包会被安装到虚拟环境目录下的Lib\site-packages中),不会对操作系统下本地的Python版本和其它的虚拟环境产生任何的影响。

退出虚拟环境

python virtualenv虚拟环境配置与使用教程详解

要退出虚拟环境,只要运行script目录下的deactivate命令就可以了。

删除虚拟环境

要删除虚拟环境,直接删除对应虚拟环境目录就可以了

virtualenv配合Pycharm的使用

可以在Pycharm中指定虚拟环境的python解释器,以便让项目在虚拟环境中运行。做法如下:

File -> Settings -> Project:xxx(具体项目) -> Project Interpreter

python virtualenv虚拟环境配置与使用教程详解

python virtualenv虚拟环境配置与使用教程详解

选择Add Local

选择对应虚拟环境目录下的Scripts\python.exe,如下,点击Ok即可。

python virtualenv虚拟环境配置与使用教程详解

python virtualenv虚拟环境配置与使用教程详解

来源:https://www.cnblogs.com/shouke/archive/2020/07/13/13291253.html

标签:python,virtualenv,虚拟环境
0
投稿

猜你喜欢

  • MySQL DISTINCT 的基本实现原理详解

    2024-01-15 17:21:29
  • PL/SQL Number数字类型函数

    2010-07-16 13:09:00
  • 6行的js上下滑动广告效果

    2008-11-27 12:26:00
  • ORA-28002 Oracle 11g存在密码过期问题解决方案

    2024-01-16 10:29:52
  • 配置MySQL与卸载MySQL实例操作

    2024-01-19 21:55:26
  • Go语言中节省内存技巧方法示例

    2024-02-10 16:43:40
  • Vue.js中v-bind指令的用法介绍

    2024-04-30 10:18:30
  • python实现贪吃蛇游戏源码

    2021-07-22 12:45:24
  • javascript正则表达式模糊匹配IP地址功能示例

    2024-06-12 00:28:10
  • 使用单通道实现半透明效果

    2009-12-12 17:40:00
  • 解决vue打包之后静态资源图片失效的问题

    2024-05-29 22:18:53
  • Django中ORM的基本使用教程

    2021-09-10 00:35:46
  • django项目搭建与Session使用详解

    2021-05-19 11:37:31
  • python thrift 实现 单端口多服务的过程

    2022-04-28 21:46:00
  • js实现随屏幕滚动的带缓冲效果的右下角广告代码

    2024-06-07 15:26:48
  • 使用Fabric自动化部署Django项目的实现

    2022-09-05 22:00:33
  • ZeroClipboard.js使用一个flash复制多个文本框

    2024-04-27 15:19:14
  • SQL Server查找表名或列名中包含空格的表和列实例代码

    2024-01-17 03:15:33
  • python基于Tkinter实现人员管理系统

    2021-05-01 10:07:19
  • js实现购物网站放大镜功能

    2024-04-30 08:51:56
  • asp之家 网络编程 m.aspxhome.com