这里简单的介绍一下Python版本管理工具--pyenv和三个个虚拟环境,分别是virtualenv,anconda,pipenv。

版本管理工具--pyenv

这个呢是一个python版本管理的包,你可以通过git直接下载源码,安装方法里面都有https://github.com/pyenv/pyenv git地址,下载下来,然后一步一步跟着做就好了。

简单来看一下几个路径含义

~/.pyenv/shims/

这里面存放的python命令,是我们在终端输入python时候执行的,我们可以把PATH打印一下,可以看出,这个路径的命令是在最前面的。我们输入python后,pyenv会根据我们设置的去找真正要执行的python命令。

~/.pyenv/versions/

这个目录里面存放的就是我们安装的python版本。(注意:如果我们安装时候特别慢,不要着急.我们可以把终端打印出来的地址,放在浏览器里,然后下载下来,把下载的文件移动到~/.pyenv/cache/下就可以.刚开始要自己建这个cache目录的)

python版本设置有两个命令

pyenv local 名称:在当前目录使用这个python版本

pyenv global 名称:将全局的python版本设置成这个版本

名称我们可以通过pyenv versions来查看,里面会有一个system的名称,这个是你机器原来的python版本,一般情况下我们都用local来针对某一个目录设置python,全局还是用我们系统的。用local我们可以在当前目录下找到一个.python_version的文件.pyenv应该就是读这个文件,知道你在当前目录要用什么版本的python。

用过node的可能会发现,其实这个跟node的nvm差不多一样的性质。

虚拟环境--virtualenv

我最开始使用的虚拟环境是virtualenv,这个的用法,网上也有一大堆。简单说一下吧,因为我现在很少用。

安装:pip install virtualenv

创建:virtualenv env名称

进入虚拟环境:source env名称/bin/activate

退出虚拟环境:deactivate

进入环境,你就可以在里面用pip install了。安装的包就是在当前环境中。

虚拟环境--anconda

后来我看还有个anconda的包管理器,也能创建虚拟环境。这个也有很多安装教程。

安装:官网有教程,下载下来运行就可以了

创建:conda create -n env名称 python=2.7

进入:conda activate env名称

退出:conda deactivate

进入环境,你也可以在里面安装包,安装包用的是anconda的命令:conda install 包。这里面可能有一些包找不到,你也可以用pip install来安装。

注意:用pip来安装就有点坑,如果你本地机器上已经安装了这个包了,那pip install就安装不了,如果你pip install安装的包跟你本机的版本不一样,他会卸载了本机的包,然后重新在你的conda环境中新安装一个包。这样你本机就没有这个包了。对于一个新机器来说,可能比较好吧,毕竟以后运行项目都在虚拟环境,但是对于一些有在本机环境运行项目的人来说,就不那么友好,有可能你用着anconda,莫名其妙的本机就缺少包。当然你也可以再安装。

虚拟环境--pipenv

后来,最近我又发现了一个pipenv,这个感觉比较好。

安装:pip install pipenv

创建:pipenv install --python=2.7

进入:进入目录,pipenv shell

退出:deactivate

创建一个虚拟环境,存放在默认目录下,我的默认目录是~.local/share/下面,然后会在当前目录创建一个Pipfile的文件。里面记录着你安装的包。安装包用pipenv install ,安装的包,都会在Pipfile里面记录着,如果你当前目录已经有Pipfile,你pipenv install,他就会创建一个跟当前目录关联的虚拟环境,然后安装Pipfile中的包。里面可以设置下载包的源。以提高下载速度。安装完,会生成一个Pipfile.lock的文件。里面记录着真实的下载的包的一些信息,当项目迁移的时候,把这几个目录一起,不管在哪里,运行的环境都是一样的。这也是我比较喜欢的一点,有点像node的package.json文件的功能。

以上就是关于Python版本管理工具和虚拟环境的相关介绍了,希望对大家有所帮助。

python版本管理工具_Python版本管理工具与虚拟环境的介绍相关推荐

  1. python可以用来写什么工具_python写工具

    谷歌开源 Python Fire:可自动生成命令行接口 今天我们很高兴地宣布 Python Fire 开源.Python Fire 可从任何 Python 代码生成命令行接口(command line ...

  2. python 状态机教程_python 实用工具状态机transitions

    说明 1. 状态机是一个非常实用的理论.在涉及到复杂的场景,建立状态机模型,能带来极大的方便.比如,网络连接.模型状态.业务逻辑. 2. 状态机并不复杂, 重要的是它的思想,能够极大减轻复杂度.使用时 ...

  3. python数据分析软件_Python数据分析工具

    Numpy Python没有提供数组功能,虽然列表可以完成基本的数组功能,但他不是真正的数组.Numpy内置函数处理速度是c语言级别,因此尽量使用内置函数,避免出现效率瓶颈的现象. Numpy的安装: ...

  4. python画国际象棋_python图形工具turtle绘制国际象棋棋盘

    本文实例为大家分享了python图形工具turtle绘制国际象棋棋盘的具体代码,供大家参考,具体内容如下 #编写程序绘制一个国际象棋的棋盘 import turtle turtle.speed(30) ...

  5. python 表示图论_Python 图论工具 | 学步园

    networkx: 一个用Python语言开发的图论与复杂网络建模工具, 内置了常用的图与复杂网络分析 可以方便的进行复杂网络数据分析.仿真建模等工作. 依赖工具: numpy pyparsing d ...

  6. linux下python开发工具_Python开发工具 Wing IDE

    Wing IDE是一个Python语言的IDE,其中包括大量语法标签的高亮显示.与其他类似的IDE相比,Wing IDE最大的特色是可以调试django应用. Wing IDE是个相当优秀的 IDE: ...

  7. python图论库_Python 图论工具

    networkx: 一个用Python语言开发的图论与复杂网络建模工具, 内置了常用的图与复杂网络分析算法, 可以方便的进行复杂网络数据分析.仿真建模等工作. 依赖工具: numpy pyparsin ...

  8. python编写自动化脚本工具_python自动化工具之pywinauto实例详解

    本文实例为大家分享了python自动化工具pywinauto,供大家参考,具体内容如下 一.win环境应用自动化 1.浏览器中下载 2.在cmd下启动:python get-pip.py 3.在cmd ...

  9. python 开发工具_Python开发工具之神兵利器

    1, 引言 Python开源网络爬虫项目启动之初,我们就把网络爬虫分成两类:即时爬虫和收割式网络爬虫.为了使用各种应用场景,该项目的整个网络爬虫产品线包含了四类产品,如下图所示: 本实战是上图中的&q ...

最新文章

  1. PyTorch中模型的可复现性
  2. 助你打造纯键盘流系统——Launchy
  3. C# 操作ACCESS数据库
  4. Linux环境下安装RocketMQ(MetaQ)
  5. 教你十分钟构建好 SpringBoot + SSM 框架
  6. 《Java技术》第八次作业
  7. 公众号里面套页面_微信公众号页面模板有什么用?开通的方法是什么?
  8. 天池学习赛:工业蒸汽量预测3——模型训练
  9. 大势要落地!开发者应该关注的 AI 应用落地实践
  10. AdventureWorks范例数据库
  11. Android权限动态权限修改和其他的Android配置修改
  12. 关于C语言从键盘输入内容到数组
  13. StringJoiner拼接字符串(使用以及源码解析)
  14. php中$$代表什么意思
  15. HTML简单语法总结
  16. 高举5G和AI两面旗帜:紫光展锐市场峰会火爆申城
  17. 阿里云虚拟空间No input file specified
  18. 计算机维修工实操,计算机维修工(三级)操作技能练习题.pdf
  19. CASS3D旗靓版20220402版本更新了,更稳定【下载地址文末】
  20. Android studio File Explorer sdcard文件怎么访问

热门文章

  1. 免费 | 开源操作系统年度盛会最新日程曝光,邀您一同开启烧脑模式!
  2. 父母延长退休,作为程序员的我光荣失业
  3. 反垃圾江湖风云纪事 | 技术头条
  4. 互联网行业的体面隐退 | 畅言
  5. GitHub 近两万 Star!深度学习 500 问带你入门人工智能!| 技术头条
  6. 如何应对日益膨胀的数据流量? | 技术头条
  7. 你我的父母,都在被互联网“割韭菜”
  8. Python 对象的身份迷思:从全体公民到万物皆数
  9. 为什么我花了三个半月准备的面试还是砸了?附 iOS 开发者求职攻略
  10. 史上速度最快!DNS 公共服务 1.1.1.1 正式发布