【Python使用】使用pip安装卸载Python包(含离线安装Python包)未完成???
本文是对python的第三方包/模块的安装的说明,官方下载第三方包的地址为:https://pypi.org/。
1.工具安装部署
1.1 setuptools安装部署(easy_install)
easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,它用来自动地从http://pypi.python.org/simple/来安装egg包。安装好setuptools就可以使用easy_install命令安装第三方包或模块了。
源码包下载地址:setuptools-41.0.1.zip 其它版本
(1)将安装包上传到/software目录后,执行如下命令安装:
cd /software
unzip setuptools-41.0.1.zip
cd setuptools-41.0.1
python setup.py install
(2)更改默认easy_install命令为最新安装版本(Python安装目录假设为/usr/local/python3安装版本为3.6.8)
#查找easy_install的安装路径 一般为:/usr/bin/easy_install
whereis easy_install
#备份原有文件,并建立新的软连接
mv /usr/bin/easy_install /usr/bin/easy_install_bak
ln -s /usr/local/python3/bin/easy_install /usr/bin/easy_install #/usr/local/python3为python安装目录
(3)查看当前easy_install的版本,确认安装成功
easy_install --version
setuptools包安装目录为:/usr/local/python3/lib/python3.6/site-packages/setuptools
(4)easy_install用法
#安装包
easy_install package_name #默认安装最新版本的库
easy_install package_name==version #安装指定版本
easy_install package_name<=version #不指定版本号,要求某个版本之前或者之后的版本,使用大于小于号 #升级包
easy_install -U package_name
easy_install -U package_name>=version #升级到某个版本以上
#卸载包
easy_install -m package_name #这种卸载不完全,其实包还在文件夹中,只是不能导入了 #显示帮助说明
easy_install --help
1.2 pip安装部署
pip 是 Python 包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。
源码包下载地址:pip-19.2.1.tar.gz 其它版本
(1)将安装包上传到/software目录后,执行如下命令安装:
cd /software
tar -zxvf pip-19.2..tar.gz
cd pip-19.2.
python setup.py build #重建
python setup.py install #安装
(2)更改默认pip命令为最新安装版本(Python安装目录假设为/usr/local/python3安装版本为3.6.8)
#查找pip的安装路径 一般为:/usr/bin/pip
whereis pip
#备份原有文件,并建立新的软连接
mv /usr/bin/pip /usr/bin/pip_bak
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip #/usr/local/python3为python安装目录
(3)查看当前pip的版本,确认安装成功
pip --version
pip包安装目录为:/usr/local/python3/lib/python3.6/site-packages/pip
(4)pip用法
#显示
pip --version #验证是否已经安装
pip --help #获取帮助 pip list #列出已安装的包
pip list -o #查看可升级的包
pip show SomePackage #显示指定安装包信息,pip show -f SomePackage显示详细信息
#安装包
pip install SomePackage #安装最新版本
pip install 'SomePackage==1.0.4' #安装指定版本
pip install 'SomePackage>=1.0.4' #安装最小版本
#升级包
pip install --upgrade SomePackage #升级包,可通过使用==, >=, <=, >, < 来指定一个版本号。
#卸载包
pip uninstall SomePackage
#搜索包
pip search SomePackage
1.3 easy_install与pip区别
easy_install的作用和perl中的cpan,ruby中的gem类似,都提供了在线一键安装模块的傻瓜方便方式,而pip是easy_install的改进版,提供更好的提示信息,删除package等功能。
一般情况下推荐使用pip安装方式,但某些老版本的python中没有pip只能使用easy_install。
2.本地安装
本地安装指将所需第三方包/模块下载到本地,然后进行安装的方式。安装包/模块主要分为四类:单文件模块、源文件、egg文件和whl文件。
2.1 单文件模块安装
直接拷贝第三方模块到$PYTHON_HOME/lib/pythonx.x/site-packages/目录下即可;
2.2 源文件安装
如果下载下来的安装包为带有源文件的压缩包,解压之后,运行setup.py进行安装。
#切换到安装包中setup.py文件所在的目录
python setup.py build #构建
python setup.py install #安装
2.3 egg文件的安装
使用setuptools自带的easy_install进行安装,其语法如下
easy_install xxx.egg
2.4 whl文件安装
两种安装方法,即easy_install和pip。推荐使用pip,因为pip是easy_install的改进版,提供更好的提示信息。
pip install xxx.whl
3.远程安装
自动从远程地址检索下载安装,语法:pip install 包名或模块名
pip install --index url https://pypi.douban.com/simple/requests #指定安装源
4.pip安装离线包
假设Host-A 不能上网,但是需要在上面安装python第三方包,另外一台主机Host-B能上网的。
4.1 在能联网机器Host-B上安装好需要的包
例如:
pip install numpy
pip install pandas
4.2在能联网机器Host-B上下载需要离线安装的包
(1)新建离线安装包存储目录
mkdir -p /software/offline_packages
(2)下载单个包,存入/software/offline_packages文件夹(以pandas为例)
cd /software/offline_packages
pip install --download /software/offline_packages pandas #旧版本方式,其中pandas为待下载安装包名
pip download pandas -d /software/offline_packages #新版本方式,其中pandas为待下载安装包名
(3)下载多个包,存入/software/offline_packages文件夹
#生成已安装模块列表
cd /software/offline_packages
pip list #查看安装的包
pip freeze >requirements.txt #生成冻结文本需求文本。可以当前安装的三方包记录,存储到指定的文件当中,以后就可以根据这个需求来安装第三方包。 #下载包
pip install --download /software/offline_packages -r requirements.txt #旧版本方式,其中requirements.txt为待下载安装包列表
pip download -r requirements.txt -d /software/offline_packages #新版本方式,其中requirements.txt为待下载安装包列表
4.3在不能联网机器Host-A上安装离线包
通过U盘等移动存储介质拷贝/software/offline_packages目录到Host-A上,使用如下命令安装我们已经下载好的python所需的包。
(1)单个包安装(以pandas为例)
pip install --no-index --find-links="/software/offline_packages" pandas #pandas为安装包
(2)多个包安装
pip install --no-index --find-links="/software/offline_packages" -r requirements.txt
参考文档:
【Python使用】使用pip安装卸载Python包(含离线安装Python包)未完成???的更多相关文章
- 20180903 - Python Pip 工具下载whl包与离线安装
20180903 - Python Pip 工具下载whl包与离线安装 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba 个人网站 http://pigg ...
- Python第三方包之离线安装
Python第三方包之离线安装 第一步 首先我们得从pypi上先下载要装的第三方包 https://pypi.org/ 第二步(因为下载下来的包可能需要其他包的依赖,那我们依旧要按照第一步再次下载) ...
- chrome 下载插件包及离线安装
最近需要测试http rest服务,由于chrome插件的轻便,首先想到了用chrome插件,在google商店找到Advanced Rest Client,用了一阵感觉不错. 于是项目组其他同事也要 ...
- chrome 下载插件包及离线安装 附 Advanced Rest Client 下载
最近需要测试http rest服务,由于chrome插件的轻便,首先想到了用chrome插件,在google商店找到Advanced Rest Client,用了一阵感觉不错. 于是项目组其他同事也要 ...
- 使用 pip wheel 实现 Python 依赖包的离线安装
pip python 依赖 安装 有时候, 需要部署 Python 应用的服务器没有网络连接, 这时候, 你就要把整个 Python 应用做成离线安装包. 借助 wheel, 很容易就可以实现. 首先 ...
- yum 下载全量依赖 rpm 包及离线安装(终极解决方案)
目录 简介 验证环境 查看依赖包 方案一(推荐):repotrack 方案二:yumdownloader 方案三:yum 的 downloadonly 插件 离线安装 rpm 参考资料 简介 通常生产 ...
- 利用 pip download 打包软件来提供离线安装
文章目录 1.通过 pip download 下载安装包 2.利用 pip install --no-index 离线安装 1.通过 pip download 下载安装包 linux-oz6w:~ # ...
- npm包与gem包--在线&离线安装
目录 NPM 在线 离线 GEM 在线 离线 NPM NPM,即为Node的包管理工具,官网为 https://www.npmjs.com/,我们可以在站内搜索所需要的NPM包,了解相关的使用规则 安 ...
- Ambari2.6.0 安装HDP2.6.3(离线安装)
一.下载安装包 因为使用在线安装特别慢,所有的安装包加起来有9个G左右,所以本教程是通过迅雷下载包,然后上传到服务器,通过配置本地源的方式来实现的离线安装.通过ambari安装需要下载下面的三个主要包 ...
随机推荐
- 并发编程(八)—— Java 并发队列 BlockingQueue 实现之 ArrayBlockingQueue 源码分析
开篇先介绍下 BlockingQueue 这个接口的规则,后面再看其实现. 阻塞队列概要 阻塞队列与我们平常接触的普通队列(LinkedList或ArrayList等)的最大不同点,在于阻塞队列的阻塞 ...
- .net core 2.0 Code First Fluent API配置
A.net core 2.0新特性支持通过IEntityTypeConfiguration<>添加Code First配置到一个封装类. 新建目标框架为.NET Core类库 新建完了以后 ...
- 从零开始学习PYTHON3讲义(五)while循环和棋盘麦粒问题
<从零开始PYTHON3>第五讲 上一节课重点学习了字符串,并且传递了一个重要的理念,就是程序要对开发人员自己和用户都足够友好.在这个过程中,利用字符串给出充分.完整.准确的提示是非常重 ...
- Lucene 08 - 什么是Lucene的相关度排序 + Java API调整相关度
目录 1 什么是相关度 2 相关度评分 3 相关度设置 3.1 更改相关度的需求 3.2 实现需求-设置广告 1 什么是相关度 概念: 相关度指两个事物之间的关联关系(相关性). Lucene中指的是 ...
- 使用mpvue开发小程序教程(五)
在上一章节中,我们了解了组件的三个基本特性以及组件的基本使用方法.在实际的小程序开发中,我们应该以组件的思维去设计每个小程序的功能页面,对其进行合理的组件拆分,让每个部分都保持功能简洁.条理清楚.各司 ...
- Vue2.0中的transition组件
组件的过度 Vue1.0中transition做为标签的行内属性被vue支持.但在Vue2.0中.Vue放弃了旧属性的支持并提供了transition组件,transition做为标签被使用. 使用t ...
- tensorflow机器学习模型的跨平台上线
在用PMML实现机器学习模型的跨平台上线中,我们讨论了使用PMML文件来实现跨平台模型上线的方法,这个方法当然也适用于tensorflow生成的模型,但是由于tensorflow模型往往较大,使用无法 ...
- JdbcTemplate的一次爬坑记录
时隔三个多月,我终于想起我还有个博客,其实也不是忘了我这个博客,只是平时工作繁忙没时间去写博客,故今晚腾出时间来记录一下上次工作中遇到的一个问题,给园友们分享出来,以免入坑. 上个星期在工作中使用Jd ...
- ASP.NET Core中使用表达式树创建URL
当我们在ASP.NET Core中生成一个action的url会这样写: var url=_urlHelper.Action("Index", "Home"); ...
- [四] JavaIO之类层次体系结构横向比对
IO家族类层次体系结构横向匹配 上一篇文章中主要介绍了JavaIO流家族的整体设计思路,简单回顾下 基本逻辑涉及数据源 流的方向,以及流的数据形式这三个部分的组合 按照流的数据形式和流的方向, ...