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 虚拟环境名称
目录
相关文章
|
1月前
|
Java API Docker
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
|
3月前
|
Ubuntu Linux 测试技术
Python 虚拟环境配置
本文总结了 Python 开发中的环境配置、常用操作和常见错误处理。重点介绍了如何使用 `virtualenv` 搭建虚拟环境,解决依赖冲突问题,并保持系统环境的干净。同时,详细说明了依赖库的安装与管理方法,包括使用 `pip install` 安装依赖、生成和使用 `requirements.txt` 文件,以及查看 Python 文档和修改环境变量等实用技巧。
252 60
|
3月前
|
Shell Linux Ruby
Python3虚拟环境venv
`venv` 是 Python 的虚拟环境工具,用于为不同项目创建独立的运行环境,避免依赖冲突。通过 `python3 -m venv` 命令创建虚拟环境,并使用 `source bin/activate` 激活。激活后,所有 Python 包将安装在该环境中,不影响系统全局环境。退出环境使用 `deactivate` 命令。每个虚拟环境拥有独立的包集合,确保项目间的隔离性。删除虚拟环境只需删除其目录即可。
121 34
|
3月前
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
95 1
|
3月前
|
Shell 程序员 开发者
轻松搞定在Python中构建虚拟环境
本教程教你如何使用业界公认的最佳实践,创建一个完全工作的Python开发环境。虚拟环境通过隔离依赖项,避免项目间的冲突,并允许你轻松管理包版本。我们将使用Python 3的内置`venv`模块来创建和激活虚拟环境,确保不同项目能独立运行,不会相互干扰。此外,还将介绍如何检查Python版本、激活和停用虚拟环境,以及使用`requirements.txt`文件共享依赖项。 通过本教程,你将学会: - 创建和管理虚拟环境 - 避免依赖性冲突 - 部署Python应用到服务器 适合新手和希望提升开发环境管理能力的开发者。
274 2
|
Python
python虚拟宠物
点击(此处)折叠或打开 [18:15 t ~/PycharmProjects/talen]$ ll -rw-rw-r--.
1778 0
|
1月前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
20天前
|
人工智能 Java 数据安全/隐私保护
[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
75 28
|
1月前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
1月前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
37 4

热门文章

最新文章