文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

终极版Python学习教程:一篇文章讲清楚Python虚拟环境

2023-06-02 05:09

关注

我在之前写过一篇Python学习教程,说过新手往往没有注意环境隔离,导致Python项目包与包之间冲突。

并且Python2与3代码执行有问题等等。鉴于此我决定今天的Python学习教程给大家聊聊关于Python环境隔离问题以及如何进行隔离。

Virtualenv

我们都知道Python开发项目很容易,项目也经得起工业级别考验。很多开发者都会习惯用Python开发项目,但是由于我们每个项目情况都有些不一样。比如 今天可能用的是Django 1.8,明天可能用的是Django 2.1。

如果不进行环境隔离全局安装就会导致包的冲突,依赖不同,出现问题。

这个时候每个应用都需要一套「独立」的Python运行环境。而Virtualenv就是拿来为应用创建这一套「隔离」的Python运行环境。

首先用pip安装

pip install virtualenv

创建虚拟环境

sitin@test:/data/opt/test$ virtualenv venv

sitin@test:/data/opt/test$ source venv/bin/activate

(venv) sitin@test:/data/opt/test$ deactivate

sitin@test:/data/opt/test$

Virtualenvwrapper

上面如果我们配置了vitualenvwrapper会更加方便切换进入虚拟环境,做到一键切换进入虚拟环境。不用每次都去到指定项目目录里面进行 source venv/bin/activate。

安装如下:

pip install virtualenvwrappermkdir ~/.virtualenvs

安装好了,你可以在你的.bashrc或者.zshrc配置virtualenvwrapper,配置如下。

export WORKON_HOME=$HOME/.virtualenvs # 指定目录export VIRTUALENVWRAPPER_PYTHON=/usr/bin/pythonexport VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 隔离系统site-packagesexport PIP_VIRTUALENV_BASE=$WORKON_HOMEexport PIP_RESPECT_VIRTUALENV=trueif [[ -r /usr/local/bin/virtualenvwrapper.sh ]]; thensource /usr/local/bin/virtualenvwrapper.shelseecho "WARNING: Can't find virtualenvwrapper.sh"fi

配置好我们可以创建我们虚拟环境方式如下:

mkvirtualenv your_project #创建rmvitualenv your_project #删除workon # 列出项目workon your_project # 进去某个项目

通过上面这种方式,让我们更加方便切换进入虚拟环境了。

Pyenv

说了vitualenv,vitualenvwrapper,进行Python 包的环境隔离,我们接下来聊聊我们终极利器pyenv -- Python版本的隔离。

我们都知道python存在2,3问题,我们经常需要维护老版本Python2项目,也要考虑新版本Python3的迁移。

说它是终极利器是它除了python版本问题,也可以结合virtualenv,vitualenvwrapper一起使用。

目前pyenv这个库在github上面有14K+的star,可见受到到了非常多的关注。

这里面我们直接进入Mac的安装环节:

brew install pyenvbrew install pyenv-virtualenvbrew install pyenv-virtualenvwrapper

把下面的配置加入到我们的shell环境中,比如我的就是.zshrc。

# ---pyenv---export PATH="$HOME/.pyenv/bin:$PATH"eval "$(pyenv init -)"eval "$(pyenv virtualenv-init -)"

配置好之后,我们可以看到pyenv的shell补全,如下图。

终极版Python学习教程:一篇文章讲清楚Python虚拟环境

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯