python虚拟环境(venv、virtualenv)及虚拟环境管理工具(virtualenvwrapper)

简介:   Python应用开发时,本机的Python环境中安装各种各样的包的话,随着项目的增加,每次运行时都需要处理一下各种不同版本的依赖库,而且python版本也可能使用的不同,这样做很耗时。这就需要虚拟出不同的Python版本的环境,可以让虚拟环境专门为某一个应用而存在,且允许在虚拟环境中安装各种包。而且不影响本机大的python环境,便于开发环境和生产环境的管理。

一、简介:

  python标准库在3.6以前,使用pyvenv来提供虚拟环境。而在3.6之后弃用,使用venv提供虚拟环境。除此之外virtualenv是另一个提供虚拟环境的库,virtualenvwrapper是一个虚拟环境的管理工具,它可以使得管理virtualenv、venv创建的虚拟环境更得心应手。

二、用途:

  Python应用开发时,本机的Python环境中安装各种各样的包的话,随着项目的增加,每次运行时都需要处理一下各种不同版本的依赖库,而且python版本也可能使用的不同,这样做很耗时。这就需要虚拟出不同的Python版本的环境,可以让虚拟环境专门为某一个应用而存在,且允许在虚拟环境中安装各种包。而且不影响本机大的python环境,便于开发环境和生产环境的管理。

三、安装及使用:

1、venv的使用:
python3 -m venv /path/to/new/virtual/environment

  python3为使用的 Python 解释器版本,可以避免与python混淆,/path/to/new/virtual/environment为虚拟环境保存的目录。
  启动虚拟环境时,将命令的路径切换到environment下,输入下面命令激活虚拟环境:

source bin/activate

  退出虚拟环境使用下面命令:

deactivate

  查看其它用法可以使用下面命令:

python3 -m venv -h
2、virtualenv的使用:

安装:

pip3 install virtualenv

创建虚拟环境:

virtualenv /path/to/new/virtual/environment
指定python版本的用法
virtualenv -p /usr/bin/python3.7 /path/to/new/virtual/environment

用-p指定python的版本,/path/to/new/virtual/environment为虚拟环境保存的目录。

启动:
  将路径切换到environment下,输入下面命令激活虚拟环境

source bin/activate

退出虚拟环境使用下面命令:

deactivate
3、virtualenvwrapper使用

安装:

pip3 install virtualenvwrapper

配置环境变量:
  选择在当前用户的环境变量配置,即在\~(用户的家)目录下的.bash_profile文件中添加。也可以在当前用户的本地变量配置,同样在家目录下的.bashrc文件中添加。

export WORKON_HOME=/path/to/new/virtual/environment

上面命令中/path/to/new/virtual/environment为放置虚拟环境的目录。

  如果想要指定python的版本还可以添加:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.7

上面命令中/usr/bin/python3.7为python版本的安装路径。

  修改完成后重新激活一下环境变量:

source .bash_profile
source .bashrc

  同样重新激活一下virtualenvwrapper:

source /usr/local/bin/virtualenvwrapper.sh

上面命令中的/usr/local/bin/virtualenvwrapper.sh为virtualenvwrapper的shell脚本的安装路径。

注意:上面凡是路径的要根据自己的操作系统、安装路径来调整。

使用virtualenvwrapper管理虚拟环境的命令:

1.查看当前所维护的所有虚拟环境

workon

2、切换虚拟环境

workon 虚拟环境名称

3、退出虚拟环境

deactivate

4、删除虚拟环境

 rmvirtualenv 虚拟环境名称
目录
相关文章
|
12天前
|
JavaScript 前端开发 开发者
探索 DrissionPage: 强大的Python网页自动化工具
DrissionPage 是一个基于 Python 的网页自动化工具,结合了浏览器自动化的便利性和 requests 库的高效率。它提供三种页面对象:ChromiumPage、WebPage 和 SessionPage,分别适用于不同的使用场景,帮助开发者高效完成网页自动化任务。
63 4
|
16天前
|
机器学习/深度学习 数据可视化 Docker
Python环境
Python环境
26 3
|
26天前
|
弹性计算 Linux iOS开发
Python 虚拟环境全解:轻松管理项目依赖
本文详细介绍了 Python 虚拟环境的概念、创建和使用方法,包括 `virtualenv` 和 `venv` 的使用,以及最佳实践和注意事项。通过虚拟环境,你可以轻松管理不同项目的依赖关系,避免版本冲突,提升开发效率。
|
29天前
|
存储 数据可视化 Python
使用Python实现个人财务管理工具
本文介绍如何使用Python实现一个简单的个人财务管理工具,包括记录支出和收入、生成财务报告和数据可视化等功能。通过命令行界面输入数据,计算总支出、总收入和净收入,并使用Matplotlib库进行数据可视化。
|
2月前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
33 2
|
2月前
|
C语言 开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第21天】在Python的世界里,代码的优雅与效率同样重要。列表推导式(List Comprehensions)作为一种强大而简洁的工具,允许开发者通过一行代码完成对列表的复杂操作。本文将深入探讨列表推导式的使用方法、性能考量以及它如何提升代码的可读性和效率。
|
2月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
52 2
|
1月前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。
|
2月前
|
机器学习/深度学习 缓存 Linux
python环境学习:pip介绍,pip 和 conda的区别和联系。哪个更好使用?pip创建虚拟环境并解释venv模块,pip的常用命令,conda的常用命令。
本文介绍了Python的包管理工具pip和环境管理器conda的区别与联系。pip主要用于安装和管理Python包,而conda不仅管理Python包,还能管理其他语言的包,并提供强大的环境管理功能。文章还讨论了pip创建虚拟环境的方法,以及pip和conda的常用命令。作者推荐使用conda安装科学计算和数据分析包,而pip则用于安装无法通过conda获取的包。
94 0
|
9天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!