【转载】Python的包管理工具(进化关系)
刚开始学习 Python 时,发现各类文档和 Blog 中使用的包安装方式各不相同,有的使用 easy_install,setuptools,有的使用 pip,distribute,那麽这几个工具有什么关系呢,看下面这个图就明白了。
可以看出 distribute 是 setuptools 的取代,pip 是 easy_install 的取代。
正如使用 easy_install 之前需要安装 setuptools ,pip 的使用同样需要依赖 distribute 的安装。
下面简单的介绍一下:
Distribute 是对标准库 disutils 模块的增强,我们知道 disutils 主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。Distribute 被创建是因为 Setuptools 包不再维护了。
1.安装 Distribute
可以通过 distribute_setup.py 脚本来安装 Distribute,也可以通过 easy_install,pip,或者源文件来进行安装。不过使用 distribute_setup.py 来安装是最简单和受欢迎的方式。
$ curl -0 http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py
2.安装Pip
Pip 是安装 Python 包的工具,功能包括:安装包,列出已经安装的包,升级包以及卸载包。
Pip 是对 easy_install 的取代,提供了和 easy_install 相同的查找包的功能,因此可以使用 easy_install安装的包也同样可以使用 pip 进行安装。
Pip 的安装可以通过源代码包,easy_install 或者其他脚本。
下面介绍一下各种安装方法:
源代码方式
$ wget http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz (替换为最新的包) $ tar xzf pip-1.2.1.tar.gz $ cd pip-1.2.1 $ python setup.py install
easy_install 方式
$ easy_install pip
get_pip.py 脚本方式
$ curl -0 https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ sudo python get-pip.py
OK, 下面来看一下 Pip 的使用
安装 package
$ pip install Markdown
列出安装的 packages
$ pip freeze
安装特定版本的package
通过使用 ==, =, =, , 来指定一个版本号。
$ pip install Markdown 2.0
$ pip install Markdown 2.0, 2.0.3
升级包
升级包到当前最新的版本,可以使用 -U 或者 --upgrade
$ pip install -U Markdown
卸载包
$ pip uninstall Markdown
查询包
pip search "Markdown"
PS -- 包安装后的 py 文件路径:/usr/local/lib/python2.7/dist-packages
python虚拟环境(venv、virtualenv)及虚拟环境管理工具(virtualenvwrapper) Python应用开发时,本机的Python环境中安装各种各样的包的话,随着项目的增加,每次运行时都需要处理一下各种不同版本的依赖库,而且python版本也可能使用的不同,这样做很耗时。这就需要虚拟出不同的Python版本的环境,可以让虚拟环境专门为某一个应用而存在,且允许在虚拟环境中安装各种包。而且不影响本机大的python环境,便于开发环境和生产环境的管理。
Python包管理工具之 PDM 大家好,我是小姜。之前讲了一个pipenv和poetry包管理工具,想必大家也和我一样去了解过pipenv所存在问题,所以不是很推荐使用。后来改成了poetry工具,但这个东西对我来说稍微有点麻烦,经常容易打错,虽然可以做成alias的形式。那么今天我给大家推荐一个叫PDM的工具,全称:Python Development Master。它也是非常好用,有兴趣的朋友可以使用一下。
Python包管理工具之poetry 之前讲了一个pipenv包管理工具,这里说另外一个poetry工具,它是一个Python 虚拟环境和依赖管理工具。还提供了打包发布的功能。
Python包管理工具之pipenv 传统的成熟方案中,我们为了避免包版本的管理混乱,通常我们是依赖于当前的Python版本创建一个虚拟环境,并在虚拟环境中使用pip进行包管理。现在有一个好用的工具叫pipenv来帮助我们更方便的管理包。
相关文章
- python_控制台输出带颜色的文字方法
- python字符串的常见操作-小结
- Redis在python中的使用
- 【python基础】Linux环境下非root用户安装Python和第三方包
- Python中第三方库Requests库的高级用法详解
- Python 用推导式解决“七段码”问题
- Python视觉深度学习系列教程 第一卷 第19章 神经网络架构可视化
- Python IDLE如何清屏
- Atitit python3.0 3.3 3.5 3.6 新特性 Python2.7新特性1Python 3_x 新特性1python3.4新特性1python3.5新特性1值得关注的新特性1Python3.6新特性2 Python2.7新特性Python 2.7的新特性 - 牛皮糖NewPtone - 博客园.html Python 3_x 新特性及10大变化_python_脚本之家.htm
- Python 办公自动化 10 个高频操作,代码可直接套用
- Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略
- Python语言编程学习:利用python输出当前python版本、MSC版本型号
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Button展示图片事件)
- 程序员数学基础【三、取模运算(取余运算功能重叠部分)】(Python版本)
- 已解决Visit python.org to download an earlier version of Python.
- 综合能源系统动态调度研究(Python代码实现)
- Python GUI计算器,可执行复杂运算【附源码】
- Python内置包Tkinter的重要控件(上)
- Python编程:pyenv管理多个python版本环境
- Python标准库介绍
- 怎样用Python讨女孩欢心?