Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python虚拟环境

python虚拟环境

原创
作者头像
zero000
发布于 2021-06-22 11:57:00
发布于 2021-06-22 11:57:00
5810
举报
文章被收录于专栏:程序员菜谱程序员菜谱
virtual-environment.jpeg
virtual-environment.jpeg

一 什么是虚拟环境

Python applications will often use packages and modules that don’t come as part of the standard library. Applications will sometimes need a specific version of a library, because the application may require that a particular bug has been fixed or the application may be written using an obsolete version of the library’s interface.This means it may not be possible for one Python installation to meet the requirements of every application. If application A needs version 1.0 of a particular module but application B needs version 2.0, then the requirements are in conflict and installing either version 1.0 or 2.0 will leave one application unable to run.The solution for this problem is to create a virtual environment, a self-contained directory tree that contains a Python installation for a particular version of Python, plus a number of additional packages.Different applications can then use different virtual environments. To resolve the earlier example of conflicting requirements, application A can have its own virtual environment with version 1.0 installed while application B has another virtual environment with version 2.0. If application B requires a library be upgraded to version 3.0, this will not affect application A’s environment.

引用自Virtual Environments and Packages

Python 虚拟环境与docker容器的概念有点类似,也和操作系统的沙箱有点类似。用户可以创建独立的虚拟环境,然后在虚拟环境安装指定的外部包,每个虚拟环境之间不会相互影响。

所以,独立的虚拟环境可以方便制作不同的application runtime,也是用来制作测试环境。

二 python虚拟环境使用场景

  • 同一个服务器上,不同的程序依赖同一个包不同的版本
  • 创建测试环境,安装一些特殊的包
  • 创建测试环境,测试同一个包不同的版本
  • 防止影响os原来安装的包,创建独立的环境运行程序

三 如何创建 Python 虚拟环境

代码语言:txt
AI代码解释
复制
python3 -m venv tutorial-env
# start
source tutorial-env/bin/activate
# stop
deactivate

加入找不到venv这个module,可以通过apt-get或者yum等包管理工具安装

代码语言:txt
AI代码解释
复制
e.g. ubuntu
sudo apt-get install python3-venv

四 如何运行 python 虚拟环境的程序

方法一:hardcode python bin,并执行文件

代码语言:txt
AI代码解释
复制
vi example.py

#!/home/tom/py3-venv/bin/python
....

./myscript.py

方法二:编写一个脚本,通过脚本制定python bin

代码语言:txt
AI代码解释
复制
#!/bin/bash

/home/tom/py3-venv/bin/python myscript.py

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
管理Python虚拟环境的脚本
Python提供了很多代码库以方便开发人员使用。但是在多个项目同步开发中,不同项目所依赖的代码库的版本可能不一样。如果我们在同一个环境中维护着这些项目,将导致依赖库的版本错乱。为了解决这个问题,我们引入虚拟环境来做项目隔离。 本文介绍的脚本,提供了下列方法:
方亮
2024/01/08
2840
python基础教程:虚拟环境
我们在写的Python程序的时候,经常会用到非标准库的包和模块,比如要求等非常有用的第三方包和模块。有时候也会用到某个包和模块的特定版本,可能是这个特定的版本修复了某个bug,或者是依赖的接口只有该版本有。也可能系统安装了Python 3.6,但应用程序要求3.7或Python 2.7。
一墨编程学习
2019/05/15
8830
python安装虚拟环境步骤_python虚拟环境迁移
http://blog.csdn.net/pipisorry/article/details/47008981
全栈程序员站长
2022/09/27
8.2K0
python安装虚拟环境步骤_python虚拟环境迁移
Python虚拟环境
本文是针对《Python大学实用教程》和《跟老齐学Python:轻松入门》两本书的基础内容之后的提升。
老齐
2021/03/12
1.7K0
Python虚拟环境
Python 虚拟环境 virtualenv
  Python 今天我们就不聊了。接下来咱们说说virtualenv,英文比较好的同学,可能已经猜到了一半,virtual,即:虚拟的。那env是什么鬼?environment吗?所以翻译成中文就是”虚拟环境“。     到底什么是虚拟环境呢?顾名思义,它是一个虚拟出来的环境。通俗的来讲,可以借助虚拟机,docker来理解虚拟环境,就是把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,而且各个容器之间互相隔离,互不影响。我们要学习Django,我们通过这个环境搞一个Django的虚拟环境就好了。 【前提概要】     Django也是一个非常流行的web框架。由于Django的迭代更新非常快,也比较频繁,所以有一些过时的东西需要丢弃掉,一些新的东西需要加进来,从而导致不同的版本之间不兼容。比如Django1.3、Django1.4、Django1.8之间就有很大的差异性。     或者是说,以Python的版本举例,现在工作中使用的Python版本与Python2.x和Python3.x两种。 【故事背景】   假设要进行Python web开发,使用的是Django。手上还有两个老项目A和B需要维护,而新项目C也正在开发中。这里项目A使用的是django1.3,项目B使用的是django1.4,而新项目C使用的是Django1.8。那么问题来了,如何同时在本地进行ABC这三个项目的开发和维护? 正常的模式可能是这样:现在在A项目上有一个BUG需要修复,于是,先执行下面的命令,删除掉原来的版本:
Lansonli
2021/10/09
1.1K0
详解Python虚拟环境的原理及使用
本文先介绍虚拟环境的基础知识以及使用方法,然后再深入介绍虚拟环境背后的工作原理。(环境:在macOS Mojave系统上使用最新版本的Python 3.7.x)
昱良
2020/11/17
2.9K0
详解Python虚拟环境的原理及使用
python 的版本、依赖包、虚拟环境管理
我并不是 python 开发者,但突然对这个话题感兴趣,所以就和 AI 聊了起来,以下是一些聊天笔记。 注意,这里可能有部分内容是过时或者错误的,以官方文档或者实际效果为准。
jgrass
2025/01/19
3850
python 的版本、依赖包、虚拟环境管理
Python 虚拟环境:原理解析与最佳实践
小王最近遇到了一个棘手的问题:他在维护两个 Python 项目,一个是去年开发的数据分析系统,依赖 TensorFlow 1.x;另一个是最近在做的预测模型,需要用到 TensorFlow 2.x 的新特性。每次切换项目时,他都要手动更改 Python 包的版本,这不仅繁琐,而且经常出错。
Piper破壳
2025/01/01
3780
Python虚拟环境(pipenv、venv、conda一网打尽)[通俗易懂]
要搞清楚什么是虚拟环境,首先要清楚Python的环境指的是什么。当我们在执行python test.py时,思考如下问题:
全栈程序员站长
2022/09/27
53.7K0
Python虚拟环境(pipenv、venv、conda一网打尽)[通俗易懂]
Python开发环境搭建
“工欲善其事,必先利其器”,在我们从零开始Python编程学习中,首先做的就是搭建好开发环境,今天这篇文章我们一起学习一下在不同平台下如何搭建Python的开发环境。
TestOps
2022/04/07
1.5K0
Python开发环境搭建
Python 虚拟环境方案比较
最近在写一个网站后台,由于涉及到阿里云的 SDK ,而阿里云在自己的源(https://mirrors.aliyun.com)上发布的 SDK 要新,因此在设置 Python 的包管理的时候需要注意很多东西。
Fred Liang
2018/08/02
5580
研发:How To Install Python 3 on CentOS 7
Python is a versatile programming language that can be used for many different programming projects. First published in 1991 with a name inspired by the British comedy group Monty Python, the development team wanted to make Python a language that was fun to use. Easy to set up, and written in a relatively straightforward style with immediate feedback on errors, Python is a great choice for beginners and experienced developers alike. Python 3 is the most current version of the language and is considered to be the future of Python.
heidsoft
2018/10/16
5630
从开发属于你自己的第一个 Python 库,做一名真正的程序员「双语版」
你好,我是悦创。之前我在 CSDN 编写了一篇开发 Python 库的教程,有人加我提问到的一些问题,我来更新一下这篇文章:https://blog.csdn.net/qq_33254766/article/details/119874997
AI悦创
2022/06/28
5640
从开发属于你自己的第一个 Python 库,做一名真正的程序员「双语版」
python虚拟环境
由于 virtualenvwrapper 是 virtualenv 的一组扩展,所以如果要使用 virtualenvwrapper,就必须先安装 virtualenv。
神秘的寇先森
2020/02/19
1.3K0
Python虚拟环境工具-Virtualenv 介绍及部署记录
在开发Python应用程序时,系统默认的Python版本可能会不兼容这个应用程序, 如果同时开发多个应用程序, 可能会用到好几个版本的python环境, 这种情况下,每个应用可能需要各自拥有一套"独立"的Python运行环境。virtualenv就是用来为一个应用创建一套"隔离"的Python运行环境的工具。virtualenv是python的一个虚拟化环境工具,用来建立一个虚拟的python环境,一个专属于项目的python环境, 用virtualenv 来保持一个干净的环境非常有用, 可以帮助我们在同一台host上创建多套纯净的python解释器环境并实现相互隔离,各个环境下安装的库仅限于自己的环境,不会影响到别人。
洗尽了浮华
2018/12/27
1.9K0
【Python学习笔记】-虚拟环境virtualenv
在开发python应用程序的时候,系统安装的python3只有一个版本:3.4。所有的第三方的包都回被pip安装到python3的site-packages目录下。
DevOps在路上
2023/05/16
4630
Python3虚拟环境--venv
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替之前的virtualenv。
流柯
2018/08/30
8590
Python版本切换与虚拟环境管理
Python2和Python3之间存在较大的差异,并且由于各种原因导致Python2和Python3长期共存。我们在使用的时候,可能会遇到不同的Python版本问题或者是Python工作环境的切换问题。这里介绍pyenv、virtualenv、conda、venv,pyenv用于管理不同的Python版本,virtualenv、conda以及venv管理不同的工作环境。
py3study
2020/01/06
5.3K0
Python版本切换与虚拟环境管理
Requests库作者Kenneth Reitz的另一神作!虚拟环境及包管理工具Pipenv!
我们在运行 Python 项目的时候经常会遇到一些版本问题,例如 A 项目依赖于 Django 1.5,而 B 项目又依赖 Django 2.0,而我们的系统却只有一个 Python 解释器,我们所有的包都被装在了 Python 安装目录的 site-packages 目录下,所以 Django 只能是某个特定的版本,所以这样就会导致运行的时候导致 A 或 B 项目出现兼容问题。为了解决这个问题,我们可能会使用 virtualenv 来为项目创建一套独立的 Python 运行环境,或者我们可能会使用 Doc
崔庆才
2018/04/04
1.5K0
Requests库作者Kenneth Reitz的另一神作!虚拟环境及包管理工具Pipenv!
[232]requests库作者另一神器Pipenv的用法
我们在运行 Python 项目的时候经常会遇到一些版本问题,例如 A 项目依赖于 Django 1.5,而 B 项目又依赖 Django 2.0,而我们的系统却只有一个 Python 解释器,我们所有的包都被装在了 Python 安装目录的 site-packages 目录下,所以 Django 只能是某个特定的版本,所以这样就会导致运行的时候导致 A 或 B 项目出现兼容问题。为了解决这个问题,我们可能会使用 virtualenv 来为项目创建一套独立的 Python 运行环境,或者我们可能会使用 Docker 容器来实现不同项目的隔离运行,但总的来说,它们使用起来其实并没有那么方便。另外在进行 Python 包管理时,requirements.txt 这样的包依赖标识文件也显得很鸡肋,在某些情况下可能会带来一些麻烦。为了解决这些问题,一个更加使用方便的包管理工具诞生了,叫做 Pipenv,接下来就让我们一起来了解一下它的用法。
周小董
2022/04/12
9500
相关推荐
管理Python虚拟环境的脚本
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档