python pip包管理

简介:

pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品。本文将详细说明 安装 pip 的方法和 使用 pip 的一些基本操作如安装、更新和卸载 python 包。

distribute是setuptools的取代(Setuptools包后期不再维护了),pip是easy_install的取代。

pip的安装需要setuptools 或者 distribute,如果你使用的是Python3.x那么就只能使用distribute因为Python3.x不支持setuptools。


distribute安装:

wget https://pypi.python.org/packages/source/d/distribute/distribute-0.7.3.zip --no-check-certificate

unzip distribute-0.7.3.zip

cd distribute-0.7.3

python2.7 setup.py install


setuptools安装:

#https://pypi.python.org/packages/source/s/setuptools/

#wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz

#tar zxvf setuptools-1.4.2.tar.gz

#cd setuptools-1.4.2

#python setup.py install

安装后默认安装到 /usr/local/bin/easy_install

建立软连接: ln -s /usr/local/bin/easy_install /usr/bin/easy_install

#easy_install --version


安装Pip:

wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz

tar zxvf pip-1.4.1.tar.gz

cd pip-1.4.1

python setup.py install

安装后默认安装到 /usr/local/bin/pip

建立软连接:ln -s /usr/local/bin/pip /usr/sbin/pip


测试:

pip install simplejson

下面来看一下pip的使用:

安装特定版本的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 "multiprocessing"

列出安装的packages

$ pip freeze


工作中使用pip遇到的问题:

一、

[root@storm60-22 himalayas]# pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2782, in <module>
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 662, in require
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 565, in resolve
pkg_resources.DistributionNotFound: pip==1.3.1

其实发生这个问题是因为:虽然你已经把Python升级到了2.7版本,但是pip仍然是原来的,版本,仍然在原来python的site-package里面 

cd /usr/lib/python2.6/site-packages/
 cp -r pip* /usr/local/lib/python2.7/site-packages/

备注:

[root@kooxoo90-171 pip-1.4.1]# find / -name python2.6
/home/himalayas/virtualenv/python2.6-sk/lib/python2.6
/home/himalayas/virtualenv/python2.6-sk/include/python2.6
/home/himalayas/virtualenv/python2.6-sk/bin/python2.6
/usr/lib64/python2.6
/usr/lib/python2.6
/usr/include/python2.6
/usr/bin/python2.6
[root@kooxoo90-171 pip-1.4.1]# find / -name python2.7
/home/himalayas/virtualenv/python2.7-fd/lib/python2.7
/home/himalayas/virtualenv/python2.7-fd/include/python2.7
/home/himalayas/virtualenv/python2.7-fd/bin/python2.7
/usr/local/lib/python2.7
/usr/local/include/python2.7
/usr/local/bin/python2.7
/usr/bin/python2.7
[root@kooxoo90-171 pip-1.4.1]#


二、

python setup.py install 安装了其它模块之后,pip freeze 就报错,不能使用来查看当前已安装的模块了(备注:当前pip的版本是1.4.1,是用上面的方法安装的)。报错如下:

[root@kooxoo90-171 pip-1.4.1]# pip freeze
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg/pip/basecommand.py", line 134, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg/pip/commands/freeze.py", line 73, in run
    req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags)
  File "/usr/local/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg/pip/__init__.py", line 194, in from_dist
    assert len(specs) == 1 and specs[0][0] == '=='
AssertionError

Storing complete log in /root/.pip/pip.log
[root@kooxoo90-171 pip-1.4.1]# 
解决方法:

重新安装pip,使用一个高版本的pip,方法如下:

wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate

tar xf pip-1.5.4.tar.gz 
cd pip-1.5.4

python setup.py  install

ln -s /usr/local/bin/pip /usr/sbin/pip

三、easy_install 报错:

[root@engine1-34 wuxy]# easy_install --version
Traceback (most recent call last):
  File "/usr/bin/easy_install", line 5, in <module>
    from pkg_resources import load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2782, in <module>
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 662, in require
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 565, in resolve
pkg_resources.DistributionNotFound: distribute==0.6.10

解决方法:

[root@engine1-34 wuxy]# vim /usr/bin/easy_install

#!/usr/bin/python2.6
# EASY-INSTALL-ENTRY-SCRIPT: 'distribute==0.6.10','console_scripts','easy_install'
__requires__ = 'distribute==0.6.10'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('distribute==0.6.10', 'console_scripts', 'easy_install')()
    )

将python的版本改成2.6

本文转自 Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1597900


相关文章
|
资源调度 前端开发 JavaScript
Python学习二:Python包管理器pip
这篇文章介绍了Python包管理器pip的基本概念、基本操作、如何更改下载源为国内镜像以加速下载,以及如何指定安装包的位置。
562 0
Python学习二:Python包管理器pip
|
Python
Python软件包管理工具pip实战篇
详细介绍了Python软件包管理工具pip的使用方法,包括安装、搜索、卸载软件包,修改软件源,导出和安装依赖列表,以及查看pip版本和配置信息等操作,并提供了相关命令示例。
347 0
Python软件包管理工具pip实战篇
|
机器学习/深度学习 缓存 Linux
python环境学习:pip介绍,pip 和 conda的区别和联系。哪个更好使用?pip创建虚拟环境并解释venv模块,pip的常用命令,conda的常用命令。
本文介绍了Python的包管理工具pip和环境管理器conda的区别与联系。pip主要用于安装和管理Python包,而conda不仅管理Python包,还能管理其他语言的包,并提供强大的环境管理功能。文章还讨论了pip创建虚拟环境的方法,以及pip和conda的常用命令。作者推荐使用conda安装科学计算和数据分析包,而pip则用于安装无法通过conda获取的包。
1538 0
|
Python
Python pip 操作的几种用法
Python pip 操作的几种用法
379 0
|
自然语言处理 搜索推荐 程序员
【Python】如何使用pip,安装第三方库和生成二维码、操作Excel
【Python】如何使用pip,安装第三方库和生成二维码、操作Excel
289 0
|
Python
超详细的Python中 pip 常用命令,值得收藏!
超详细的Python中 pip 常用命令,值得收藏!
459 0
|
安全 IDE 开发工具
Python——记录pip问题(解决下载慢、升级失败问题)
Python——记录pip问题(解决下载慢、升级失败问题)
840 1
|
机器学习/深度学习 Linux 开发者
Python必备工具:pip的安装与管理
Python必备工具:pip的安装与管理
1598 0
|
Python
python一键导出/导入pip库
python一键导出/导入pip库
403 0
|
缓存 Python
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-npf9报错
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-npf9报错

推荐镜像

更多