原标题:再见 virtualenv!K神教你轻松管理多个Python环境

超级无敌干货第一时间推给你!!!

小编电脑上有多个 Python 开发环境,每次都是用 virtualenv 创建一个 Python 虚拟环境,pip 安装第三方库,把每次安装的库和版本信息写入一个requirements.txt文件中,管理一个开发环境要用好几个软件,感觉非常不方便。

作为一名程序员,小编在想是否可以通过一个工具实现 Python 开发环境的轻松管理呢。小编在 Github 上找到了一个牛逼的工具,完美的解决了Python 版本及包的管理问题。

它叫 pipenv ,这个管理工具是 Kennethreitz 大神的作品,K神在Python界非常有名,其中大名鼎鼎的request库就是K神写的,这个库 Github 上也收获了 20900 颗星。

一、如何安装

直接用 pip install pipenv

二、常见的操作1).创建虚拟环境

切换到你的项目根目录,执行 pipenv —Python Python版本,就会生成虚拟环境。

注意命令中指定的Python版本必须是你系统上存在指定的 Python 版本,否则就会报如下错误:

2).安装和卸载Python模块

安装第三方库就可以不用 pip了,可以使用 pipenv install 库名,语法和 pip 指令类似,安装 httpx 执行的指令如下:

卸载第三方库时,执行 pipenv unstall 库名这个命令即可,例如卸载 django:

3).查看项目环境所安装的第三方库

执行 pipenv graph 就会列出你所安装的第三方库信息,还能查看各个库之间的依赖关系。

pipenv 使用 Pipfile 来代替 requirement.txt 文件记录 Python第三方库 的信息。它增加了Pipfile.lock 文件来锁定Python 第三方库的包名及版本,以及其依赖关系的列表。

在开发环境下我们要安装 pytest 这样的库,这些在生产环境其实是用不上的,所以没必要记录到 Pipfile 中,那么我们在安装某个包的时候可以在 install 后面加个参数 —dev,表示只安装在开发环境,安装包记录是在[dev-packages] 部分。

在安装时,指定—dev参数,则只安装 [dev-packages] 下的包,若安装时不定指定—dev参数,只会安装[packages] 包下面的模块。[requires] 下的 Python 在构建新的虚拟环境时,若没有会自动下载安装。

项目提交时,可将Pipfile 文件和Pipfile.lock文件受控提交,待其他开发克隆下载,根据此 Pipfile 运行命令pipenv install 生成自己的虚拟环境。

Pipfile.lock 文件是通过hash算法将包的名称和版本,及依赖关系生成哈希值,可以保证包的完整性。

使用 pipenv 第三方库后不用再额外执行其他记录第三方库信息的操作,它会自动记录新安装的第三方库信息到 Pipfile 和 Pipfile.lock 文件中。

4).运行 Python 脚本

运行 Python 脚本时无需执行激活虚拟环境,直接在项目中的 Pipfile 同级目录下执行 Pipenv run Python 脚本文件即可。

5).Pycharm 中引入 pipenv 中的虚拟环境

执行 pipenv —venv 得到当前虚拟环境的文件夹位置

找到虚拟环境文件夹所在位置,并选中 bin 目录下的 Python 后,就可以用 Pycharm 引入虚拟环境了

找到虚拟环境文件夹所在位置,并选中 bin 目录下的 Python 后,就可以用 Pycharm 引入虚拟环境了

小编比较喜欢 pipenv 自动记录新安装的第三方库的信息,再也不用怕忘记更新项目依赖库的信息了,有兴趣的小伙伴赶紧试试哦。

接下来我们将会在该公众号上,为大家分享 GitHub 上优质的开源神器,程序员圈的趣事,坚持每天一篇原创文章的输出,感兴趣的小伙伴可以关注一下哈!

获取程序员必读好书返回搜狐,查看更多

责任编辑:

python 环境管理工具_再见 virtualenv!K神教你轻松管理多个Python环境相关推荐

  1. python下载pip脚本显示file_再见 virtualenv!K神教你轻松管理多个Python环境

    原标题:再见 virtualenv!K神教你轻松管理多个Python环境 菜鸟学Python",选择" 星标"公众号 超级无敌干货第一时间推给你!!! 小编电脑上有多个 ...

  2. python 无法引入同级目录的方法_再见 virtualenv!K神教你轻松管理多个Python环境...

    点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货第一时间推给你!!! 小编电脑上有多个 Python 开发环境,每次都是用 virtualenv ...

  3. python版本管理工具_使用 Python 官方工具在 windows 上管理 Python 多版本

    0. 使用官方工具 网上很多教程还在用修改Python.exe文件名的方式来进行多版本的管理,其实Python官方在3.3已经有了一个官方的工具,使用起来也很方便. 1. 下载 2.x 和 3.x(3 ...

  4. python debug工具_常用的 Python 调试工具,Python开发必读-乾颐堂

    以下是我做调试或分析时用过的工具的一个概览.如果你知道有更好的工具,请在评论中留言,可以不用很完整的介绍. 日志 没错,就是日志.再多强调在你的应用里保留足量的日志的重要性也不为过.你应当对重要的内容 ...

  5. python 开发工具_「干货」推荐一整套 Python 开发工具

    文 | Brendan Maginnis 译 | EarlGrey 在开始一个新的Python项目时,很容易不做规划直接进入编码环节.花费少量时间,用最好的工具设置项目,将节省大量时间并带来更快乐的编 ...

  6. 微软的python开发工具_面向 Python 开发人员的 Azure 工具

    面向 Python 开发人员的 Azure 工具Azure tools for Python developers 08/06/2020 本文内容 Visual Studio CodeVisual S ...

  7. python温度转换_一步一步教会你,详解用Python实现一个简易的温度换算GUI小工具...

    今天,我们来使用Python完成一个小工具的制作.很简单,就是对于摄氏温度和华氏温度的相互换算.但是,我们的目的是复习一下之前学过的Python中tkinter的小内容. 复习下前面的知识 先来看下今 ...

  8. python骨灰技巧_再见,Python!骨灰级程序员:用对这个方法,编程能力暴增!

    结合我最近这些年的 Python 学习.开发经验,发现近90%的程序员在学 Python 时都会遇到下面这3个问题: 1.想学Python,但不知从何学起,应用方向太多了也不知道该选择什么方向... ...

  9. python 释放内存_学了4年C++后,我转向了Python

    作者 | asya f 编译 | Lisa C++ 已经学不动了,现在换 Python 还来得及吗?一位四年工作经验的 C++ 程序员亲述转型历程,这不仅仅是语言上的转变,而是代码思维甚至工作环境的转 ...

最新文章

  1. jQuery 操作 DOM
  2. golang goroutine 退出方法
  3. C指针原理(34)-Ncurses-文本终端的图形
  4. Java多线程4:synchronized锁机制
  5. 对于高并发的理解及实践方案
  6. 小米笔记本引导修复_知识帖,笔记本电脑不能开机?你可以试试这些办法
  7. intel编译器_试试吧!用 Go 写一个即时编译器(JIT)
  8. oracle8i ora 12500,总结Oracle8i 的UNDO表空间损坏(ORA-01092及ORA-00600【4193】)情况下的数据库不完全恢复的经历...
  9. 微信上传素材 java_java微信接口之四—上传素材
  10. 内建函数(builtins)和functools
  11. 物联网中C语言与汇编语言,ARM Cortex-M架构CPU中C语言和汇编语言的混合编程
  12. cplex java_线性最优解java实现+Cplex java调用
  13. Django读取图片
  14. 『解疑』script标签 中 deffer和async属性的区别?
  15. (九)C#之WinForm程序设计-升级版文本编辑器
  16. 最小覆盖圆(smallest enclosing circle)算法 python 实现
  17. 国家开放大学《国际经济法》第二章 国际货物买卖法 边学边练
  18. 启动redis出现闪退(已解决)
  19. 在职研究生读计算机专业,读计算机专业在职研究生让我择业自如高升有望
  20. Xshell下载安装教程和使用教程(超详细)

热门文章

  1. Leetcode--全排列(Java)
  2. 【剑指offer】面试题07. 重建二叉树(Java)
  3. Leetcode--304. 二维区域和检索
  4. 苹果一键越狱工具_最新苹果越狱工具现世,可越狱所有iOS版本!
  5. linux 键盘过滤,linux – 需要拦截HID Keyboard事件(然后阻止它们)
  6. python paramiko invoke_shell_Python,paramiko,invoke_shell和丑陋的字符
  7. Android之自定义ViewGroup
  8. linux 内置ssh,Linux ssh内置sftp配置说明
  9. linux下能运行python,(转)Linux下运行python
  10. git 拉取远程其他分支代码_git切换远程分支并拉取远程分支代码