Python 中 Virtualenv 和 pip 的简单用法详解

 更新时间:2017年08月18日 09:36:16   作者:Shawn''s blog  
本篇文章主要介绍了Python 中 Virtualenv 和 pip 的简单用法详解,具有一定的参考价值,有兴趣的可以了解一下

本文介绍了Python 中 Virtualenv 和 pip 的简单用法详解,分享给大家,具体如下:

0X00 安装环境

我们在 Python 开发和学习过程中需要用到各种库,然后在各个不同的项目和作品里可能用的版本还不一样,正因为有这种问题的存在才催生了virtualenv的诞生。virtualenv 可以在电脑上创建一个虚拟环境,可以针对每一个项目创建一个虚拟环境,这样就不用担心各个不同的项目用不同版本的库的时候出现的冲突了。 下面的内容只适用于 Linux/OSX,未经 Windows 环境测试

要使用这个功能还是需要安装,安装 virtualenv 肯定就得直接用 pip 安装了,pip install virtualenv就可以轻松装上了。装好之后我们就可以来测试一波了。

0X01 初始化一个空的工作环境

首先在一个空的环境中执行virtualenv --no-site-packages test_env,就是在当前目录创建一个名为 test_env 的虚拟环境。这里--no-site-packages参数是指不从全局的 Python 中携带任何第三方库。就比如说你在全局 Python 中安装了 xxx 库,在不用这个参数来创建虚拟环境时,虚拟环境中也会带着这个库;但是加上了这个参数,虚拟环境中就是一个纯净的 Python,没有这些库。

root in ~ λ virtualenv --no-site-packages test_env
New python executable in /root/test_env/bin/python
Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Installing setuptools, pip, wheel...done.

然后可以通过source test_env/bin/activate可以进入(激活)到这个虚拟环境里去。进入到虚拟环境中之后,通常情况下你的命令提示符最前面会出现一个括号,括号里面写着你虚拟环境的名字。

这里说是虚拟环境,其实一切都是真实的。只是说你在激活了这个环境,在这个环境下用 pip 安装的库都放在 test_env 中。

也可以通过deactivate来退出这个环境。

0X02 批量导出和安装库

比如我们开发了一个项目,里面用到了 pymongo/requests/flask/pymysql 等等等等十几二十个库,还要指定特定的版本,那么当把一个项目从机器 A 迁移到机器 B 的时候就会很麻烦。需要手动记录每个库和版本,还要逐个去安装,非常麻烦。所以针对这个问题 pip 已经有了非常完善的解决方案。

(test_env) root in ~ λ pip freeze > requirements.txt # 导出已安装的库

这个命令可以导出当前环境中安装好的所有第三方库,并且是以一个标准的格式导出的。所以一般一个标准的 python 项目的根目录都会有这个名为requirements.txt的依赖文件。

既然可以一次性导出,那么必然可以一次性安装喽。通过这种方式就可以将上面导出的特定版本的所有库一次性全装上。配合 virtualenv 可以快速的部署一个 Python 项目,并且不会搞乱其他的 Python 项目环境。

(test_env_1) root in ~ λ pip install -r requirements.txt

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python 数据处理库 pandas 入门教程基本操作

    Python 数据处理库 pandas 入门教程基本操作

    pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对Python 数据处理库 pandas 入门教程,非常不错,感兴趣的朋友一起看看吧
    2018-04-04
  • 如何在Django中添加没有微秒的 DateTimeField 属性详解

    如何在Django中添加没有微秒的 DateTimeField 属性详解

    这篇文章主要给大家介绍了关于如何在Django中添加没有微秒的 DateTimeField 属性的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 使用Python在Windows下获取USB PID&VID的方法

    使用Python在Windows下获取USB PID&VID的方法

    今天小编就为大家分享一篇使用Python在Windows下获取USB PID&VID的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python写一个简单的在线编辑器

    Python写一个简单的在线编辑器

    这篇文章主要介绍了如何利用Python写一个简单的在线编辑器,主要通过pywebio程序,实现了Python的简陋在线编辑器,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-02-02
  • python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)

    python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)

    这篇文章主要介绍了python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法汇总

    Python报错TypeError: ‘NoneType‘ object is 

    在Python编程中,TypeError 是一个常见的错误,它表明代码中存在类型不匹配的问题,TypeError: 'NoneType' object is not subscriptable 是一个具体的例子,本文将探讨这个错误的原因,并提供几种解决方案,需要的朋友可以参考下
    2024-10-10
  • python实现ID3决策树算法

    python实现ID3决策树算法

    这篇文章主要为大家详细介绍了python实现ID3决策树算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Python OpenCV对本地视频文件进行分帧保存的实例

    Python OpenCV对本地视频文件进行分帧保存的实例

    今天小编就为大家分享一篇Python OpenCV对本地视频文件进行分帧保存的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python面试题之统计哈希列表中最多元素

    Python面试题之统计哈希列表中最多元素

    这篇文章主要为大家讲解Python面试题中的如何统计哈希列表中最多的元素,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家面试成功
    2021-09-09
  • python协程之动态添加任务的方法

    python协程之动态添加任务的方法

    今天小编就为大家分享一篇python协程之动态添加任务的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论