百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

【建议收藏】Python虚拟环境最全教程,看这篇就够了!

off999 2024-10-04 18:56 19 浏览 0 评论

?本篇文章主要围绕Pyenv, Virtualenv, Virtualenvwrapper三个Python库展开讨论。

熟悉Python的朋友一定知道python虚拟环境, 它可以让我们在不同项目中拥有各自独立的依赖库空间, 从而保证各个项目的干净整洁,而笔者在工作中需要负责多个项目,因为历史原因有的项目还在使用python2系列的版本,有的则使用python3系列的版本。所以我需要一种方式可以在同一台电脑上可以安装多个不同版本的python来适应我的工作需求,那么pyenv就是我理想的管理工具。

Pyenv 简介

pyenv是一个python版本管理工具,可以方便用户在不同的python版本间切换,例如我电脑上已经安装了python2.7,我还想安装python3.7和3.8,那么通过pyenv可以非常方便的实现这种需求。

pyenv的作者是一位日本人,据说因为他本人不喜欢window平台, 故pyenv只支持linux系和mac平台, 不光现在不支持windows以后也不支持,所以在windows上开发的小伙伴无福消受了。

Pyenv官网: https://github.com/pyenv/pyenv

Pyenv安装

以下案例是在Centos6.7 x64系统中操作。

一. 安装git

二. 安装Python 编译依赖

三. 创建用户Python

四. 使用python用户登录后安装Pyenv

在线安装:

我们可以直接通过pyenv-installer插件来安装, PS: 在 https://github.com/pyenv/pyenv-installer 有安装文档,下载的 pyenv-installer 是一个shell脚本。

这里需要注意:如果curl出现 curl: (35) SSL connect error ,这是nss版本低导致的问题,可以配置一个有较新包的yum源, 然后更新nss

离线安装

如果上面的在线安装失败可以尝试这种方式,直接clone github仓储到指定目标文件目录

五. 在python用户的~/.bash_profile中追加

这样当用户启动的时候,会执行用户的.bash_profile中的脚本,就会启动pyenv。

安装好的pyenv就在~/.pyenv目录中。


Pyenv的使用

列出所有可用版本 pyenv install --list

在线安装指定版本 pyenv install 3.8.1

因为它从python官网下载python包, 在线安装可能较慢, 为了提速,可是选用cache方法:

首先在~/.pyenv目录下,新建cache目录,放入下载好的待安装版本的文件。

如果不确定要哪一个python安装包文件,把下载好的的xz、gz、tgz这几个文件都放到cache目录中去。

放好后直接执行:

列出当前所有已经安装的python版本 pyenv versions

前面打星号的表示当前目录正在使用的python版本

列出当前正在使用的python版本 pyenv version

global 全局设置 pyenv global 3.6.9

这里用global是作用于非root用户python用户上,如果是root用户安装,请不要使用global,否则影响太大。

比如,这里使用的CentOS6.7就是Python2.6,使用了global就成了3.x,会带来很不好的影响。

shell 会话设置 pyenv shell 3.8.2

影响只作用于当前会话, 关闭当前会话即失效

local本地设置 pyenv local 3.8.2 个人非常推荐这种方式

使用pyenv local设置从当前工作目录开始向下递归都继承这个设置。

取消local设置 pyenv local --unset

Pyenv 虚拟环境设置

为什么要使用虚拟环境?

因为刚才使用的Python环境都是一个公共的空间,如果多个项目使用不同Python版本开发,或者使用不同的Python版本部署运行,或者使用同样的版本开发的但不同项目使用了不同版本的库,等等这些问题都会带来冲突。最好的解决办法就是每一个项目独立运行自己的“独立小环境”中。

virtualenv 插件的使用

正常来说,pyenv-virtualenv插件是安装pyenv自带的,在pyenv的plugin目录里可以看到它

如果你的目录里没有,从github拉一份下来就好,项目地址:https://github.com/pyenv/pyenv-virtualenv,安装步骤README有写

Virtualenv

Virtualenv 简介

Virtualenv 安装

Virtualenv 使用

假设现在开发一个新的项目, 第一步我们需要先创建一套独立的python运行环境, 那么我们只需要这么做:

创建虚拟环境

virtualenv --no-site-packages ENV 执行这条命令会创建一个名为ENV的目录, ENV 目录下分别为bin, lib, pyvenv.cfg

bin 目录下是当前虚拟环境使用的Python解释器

lib 所有安装的python库都会放在这个目录中的lib/pythonx.x/site-packages/下

pyvenv.cfg 是当前虚拟环境的配置文件

如果你想创建指定python版本的虚拟环境可以使用下面这个命令

激活虚拟环境

当终端命令行开头出现(ENV)时说明已经成功进入虚拟环境, 我们可以执行 pip list 来查看当前依赖库

退出虚拟环境

当终端命令行开头的(ENV)消失时即表示已经成功退出虚拟环境

Virtualenv 参数

Virtualenvwrapper

Virtualenvwrapper 简介

上面提到的 virtualenv 可以创建一个虚拟的独立 Python 环境,但是 virtualenv 创建的环境相对分散不便于管理, 而Virtualenvwrapper 提供了一系列命令使得和虚拟环境工作变得轻松许多, 相对于virtualenv, Virtualenvwrapper有以下几个优点:

1. 将您的所有虚拟环境在一个地方

2. 包装用于管理虚拟环境(创建,删除,复制)

3. 使用一个命令来环境之间进行切换

Virtualenvwrapper 安装

安装之后还需要配置, 在.bashrc(或.zshrc)中添加下列内容:

注意:

virtualenvwrapper.sh 文件位置根据你的实际目录填写, 不确定的话可以使用find / -name virtualenvwrapper.sh查找一下

Virtualenvwrapper 使用

创建虚拟环境

创建指定的python版本的虚拟环境

激活虚拟环境
导航到当前激活的虚拟环境的目录中
退出虚拟环境 (同virtualenv一样)
列出所有虚拟环境

workon 和lsvirtualenv都可以列举出已创建的所有虚拟环境

删除虚拟环境

总结

Pyenv

在创建一个新的python版本时,完全拷贝一个现成的python环境,新的python版本,可作为global

Virtualenv

在创建一个新的python版本时,它生成一套软链到现有的python环境,即执行环境和版本不变,也可以制定一个python解释器让它来virtual,但是它的site-packages是独立的。

针对一个应用,建立一个独立的python运行环境。

Virtualenvwrapper

Virtualenvwrapper 是对 virtualenv 的扩展,用来管理全部的虚拟环境。

相关推荐

SPC相关的计算用excel和python实现【源码下载】

做SPC分析涉及到很多计算,比如CPK、PPK、概率图、PPM等等,网上很多公式,但具体实现却不是那么容易的。我们整理了这些用excel和python实现的代码。包括但不限于以下的内容:SPC分析中的...

Python学不会来打我(34)python函数爬取百度图片_附源码

随着人工智能和大数据的发展,图像数据的获取变得越来越重要。作为Python初学者,掌握如何从网页中抓取图片并保存到本地是一项非常实用的技能。本文将手把手教你使用Python函数编写一个简单的百度图片...

django python数据中心、客户、机柜、设备资源管理平台源码分享

先转发后关注,私信“资源”即可免费获取源码下载链接!本项目一个开源的倾向于数据中心运营商而开发的,拥有数据中心、客户、机柜、设备、跳线、物品、测试、文档等一些列模块的资源管理平台,解决各类资源集中管理...

熬夜也值得学习练手的108个Python项目(附源码),太实用了!

现在学编程的人越来越多,Python因为简单好上手、功能又强大,成了很多人的首选。不管是做数据分析、人工智能,还是写网络程序、自动化脚本,Python都能派上用场。而且它诞生的时间比网页还早,作为...

这五个办公室常用自动化工具python源码,复制代码就能用

办公室自动化现在能看这文章的恐怕大部分都是办公室久坐工作者,很多都有腰肌劳损、肩周炎等职业病,难道就不能有个工具缓解一下工作量吗?那么恭喜你点进了这篇文章,这篇文章将使用python直接实现五个常...

将python源代码封装成window可执行程序教程

将python源代码封装成window可执行程序教程点击键盘win+r打开运行框在运行框中输入cmd,进入到命令行。在命令行中输入piplist去查看当前电脑中所有的库检查是否有pyinstall...

Python 爬虫如何爬取网页源码?(爬虫获取网页源代码)

下面教大家用几行代码轻松爬取百度首页源码。什么是urllib?urllib库是Python内置的HTTP请求库,它可以看做是处理URL的组件集合。urllib库包含了四大模块,具体如下:urllib....

Python RPC 之 Thrift(python是做什么的)

thrift-0.12.0python3.4.3Thrift简介:Thrift是一款高性能、开源的RPC框架,产自Facebook后贡献给了Apache,Thrift囊括了整个RP...

用Python编写FPGA以太网MAC(附源码下载方式)

来源:EETOP作者:ccpp123略作了解后发现,MyHDL不是高层次综合,它实际上是用Python的一些功能实现了一个Verilog仿真器,能对用Python写的仿Verilog语言进行仿...

python爬虫常用工具库总结(python爬虫工具下载)

说起爬虫,大家可能第一时间想到的是python,今天就简单为大家介绍下pyhton常用的一些库。请求库:实现基础Http操作urllib:python内置基本库,实现了一系列用于操作url的功能。...

手把手教你使用scrapy框架来爬取北京新发地价格行情(理论篇)

来源:Python爬虫与数据挖掘作者:霖hero大家好!我是霖hero。上个月的时候,我写了一篇关于IP代理的文章,手把手教你使用XPath爬取免费代理IP,今天在这里分享我的第二篇文章,希望大家可以...

2025年Python爬虫学习路线:第1阶段 爬虫基础入门开始

这个阶段的目标是让你熟悉Python的基础知识、了解HTTP请求和HTML是如何工作的,并最终完成你的第一个爬虫小项目——抓取名言!按照计划,我们首先要打好Python基础。Python就像是我们要...

如何入门 Python 爬虫?(python零基础爬虫)

1.很多人一上来就要爬虫,其实没有弄明白要用爬虫做什么,最后学完了却用不上。大多数人其实是不需要去学习爬虫的,因为工作所在的公司里有自己的数据库,里面就有数据来帮助你完成业务分析。什么时候要用到爬虫呢...

突破爬虫瓶颈:Python爬虫核心能力提升与案例实操

技术控必看!Python爬虫高手进阶全攻略,解锁数据处理高阶玩法在数字化时代,Python爬虫早已成为数据探索者手中的得力工具。从基础的网页抓取到复杂的数据处理,每一次技术升级都能带来新的突破。本文将...

网络爬虫开源框架(网络爬虫的框架)

目前开源爬虫下载框架是百花齐放,各个编程语言都有,以下主要介绍其中重要的几个:1)python:scrapy,pyspider,gcrawler2)Java:webmagic,WebCollector...

取消回复欢迎 发表评论: