Linux python 与pip升级与问题解决



一、安装pip
使用脚本安装和升级pip
要安装或升级pip,需要下载 get-pip.py. 地址:https://bootstrap.pypa.io/get-pip.py


然后运行以下命令 (需要管理员权限):


$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py
$ pip -V  #查看pip版本






二、linux python版本升级


升级python版本的时候千万不能卸载python 2.6,再安装python2.7,这样会有无穷无尽的麻烦,保守的方式是直接安装python2.7的源码包,也就是python两个版本共存。(因为Centos里面有很多程序是依赖着python,所有最好不要尝试去卸载python2.6)。 


安装python需要用到gcc工具,首先查看gcc是否安装 
# gcc -v


如果未安装则使用yum命令安装
# yum -y install gcc


下载最新安装python包
# wget http://python.org/ftp/python/2.7.10/Python-2.7.10.tgz


解压包
# tar -xzvf Python-2.7.10.tgz 


编译安装
# cd Python-2.7.10
# ./configure --prefix=/usr/local/python2.7 
# make && make install


(
注:如果想用最新的get-pip方式安装pip, 在安装python前先用yum安装依赖包,不然会提示如下错误,
zipimport.ZipImportError: can't decompress data; zlib not available
cannot import name HTTPSHandler
# yum install zlib-devel  or  yum install zlibc zlib1g-dev 
# yum install openssl openssl-devel  or openssl*
***让python支持zlib包,还需要在配置(./configure)之后修改Modules/Setup文件,
***# sudo vi Modules/Setup  // 找到#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz这行代码(460左右),删除前面的“#”然后再进行编译(make)、安装(make install)***经测试提前安装好zlib-devel后,无需修改安装文件,也可正常安装get-pip.py)


建立软连接,使系统默认的python指向python2.7 ,正常情况下即使python2.7安装成功后,系统默认指向的python仍然是2.6.6版本如何实现将系统默认的python指向到2.7版本呢?


# mv /usr/bin/python /usr/bin/python.bak


# ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python  # 添加软连接 


如果是默认安装路径则使用下面命令


# ln -s /usr/local/bin/python2.7 /usr/bin/python


检验python指向是否成功


# python -v


 


注意以后安装的python工具包例如easy_install,pip等,都会安装在/usr/local/python2.7/bin 目录下要想直接使用这些命令还需要把/usr/local/python2.7/bin添加到$PATH变量中


1、编辑/etc/profile文件(永久生效)


找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL这行上面加入


PATH=$PATH:/usr/local/python2.7/bin


重新初始化文件,使文件立即生效


source /etc/profile or . /etc/profile 


2、在用户目录下的~/.bash_profile文件中增加变量,对单一用户生效(永久的)


3、在shell的命令行下直接使用[export PATH=$PATH:/usr/local/python2.7/bin]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了(临时的)


 


修复不能正常工作的yum,如果有使用yum的话会发现出错,这是因为yum 依赖2.6.6而现在默认的 Python 版本是2.7.10。


# vi /usr/bin/yum


将首行显示的 !#/usr/bin/python 修改为 !#/usr/bin/python2.6




三、Could not find .egg-info directory 问题解决
只需要更新pip即可:
sudo pip install --upgrade setuptools pip
然后卸载原来的package,如果pip uninstall 不可以,因为没有源码包,此时需要手动删除对应的文件,一般在/usr/local/lib/python2.7/dist-packages(python2.7)下面

你可能感兴趣的:(linux,python)