Python有两个著名的包管理工具easy_install.py和pip。Python2.7的安装包中自带了easy_install.py,而pip需要手动安装。而在Python3.5之后都是默认安装了pip工具。easy_insall的作用和perl中的cpan,ruby中的gem类似,都提供了在线一键安装模块的傻瓜方便方式,而pip是easy_install的改进版,提供更好的提示信息,删除package等功能。
easy_install和pip的安装用法:
- easy_install的用法:
#安装一个包
$ easy_install <package_name>
$ easy_install "<package_name>==<version>"
#升级一个包
$ easy_install -U "<package_name>>=<version>"
- pip的用法
#安装一个包
$ pip install <package_name>
$ pip install <package_name>==<version>
#升级一个包 (如果不提供version号,升级到最新版本)
$ pip install --upgrade <package_name>>=<version>
删除一个包
$ pip uninstall <package_name>
此外,也可以下载相应的.whl文件,并pip install whl文件名称.whl
进行安装。
其他安装包的方式
事实上,除了这两个包管理工具,我们也可以去官网或者提供依赖包的网站去下载相关的模块包,一般的包里会提供install.py,我们需要执行python install.py install
即可完成安装
Python使用requirements.txt安装类库
遗憾的是,我们需要引导pip正确地安装满足需求的package. 由于现在pip 还不具备真正的依赖分析, 只是简单地为项目匹配第一需求。
requirements.txt文件格式
requests==1.2.0
Flask==0.10.1
numpy
Note: 不指定版本则安装最新版本,也不要==符号。
安装requirements.txt中的类库内容
pip install -r requirements.txt
sed -i 's/==.*$//g' requirements.txt
安装最新版本要去除后面的==再安装
生成 requirements.txt 文件
- 使用pip freeze
$ pip freeze > requirements.txt
pip的freeze命令保存了保存当前Python环境下所有类库包,其它包括那些你没有在当前项目中使用的类库。 (如果你没有的virtualenv)。
但有时你只想将当前项目使用的类库导出生成为 requirements.txt; - 使用pipreqs
pip的freeze命令只保存与安装在您的环境python所有软件包。
$ pip install pipreqs
$ pipreqs /path/to/project