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,如需转载请自行联系原作者






相关文章
|
4月前
|
人工智能 JSON 测试技术
软件测试/人工智能|Python Pip 常用命令大全
软件测试/人工智能|Python Pip 常用命令大全
38 0
|
5月前
|
Python
python2 pip2 No module named web
python2 pip2 No module named web
29 0
|
5月前
|
Linux Python
python2 安装 pip (Linux)
python2 安装 pip (Linux)
55 0
|
5月前
|
Linux Python
linux 安装 pip2 kali debian python python2
linux 安装 pip2 kali debian python python2
57 0
|
2月前
|
安全 iOS开发 MacOS
|
2月前
|
Unix Linux Python
sudo python -m pip install --upgrade pip
sudo python -m pip install --upgrade pip是一个用于升级Python包管理器pip的命令。这个命令由pip模块提供,它是一个Python包管理器,用于安装、升级和删除Python软件包。--upgrade选项表示要执行升级操作。
50 1
|
2月前
|
开发者 Python
解码pip:Python项目依赖的得力助手
解码pip:Python项目依赖的得力助手
49 0
|
2月前
|
Python
【Python指南 | 第一篇】Python环境配置及pip安装教程
【Python指南 | 第一篇】Python环境配置及pip安装教程
47 1
|
4月前
|
Python
Python 工具和库:解释什么是 PIP?如何使用 PIP 安装 Python 包?
Python 工具和库:解释什么是 PIP?如何使用 PIP 安装 Python 包?
|
4月前
|
网络安全 C语言 Python
Python【问题 01】pip install MySQL-python==1.2.4b4 依赖安装问题记录及解决
Python【问题 01】pip install MySQL-python==1.2.4b4 依赖安装问题记录及解决
33 0