我centos7上同时有python2.7和python3.5。现在希望能在使用python3.5时也能用pip。本来这应该是很容易的一件事,然而我一步步掉进坑里。。

官网安装pip的方法是,https://pip.pypa.io/en/stable/installing/

于是我执行了

wget https://bootstrap.pypa.io/get-pip.py
python3.5 get-pip.py

报错 zipimport.ZipImportError: can't decompress data; zlib not available

一顿google,把这两个链接里的包都安装上好了

http://askubuntu.com/questions/661039/trouble-with-zip-support-in-custom-python-build-zipimport-zipimporterror-cant

https://stackoverflow.com/questions/37723236/pip-error-while-installing-python-ignoring-ensurepip-failure-pip-8-1-1-requir/37723517#37723517

1.安装zlib

yum install -y zlib
yum install -y zlib-devel
yum install zlib-devel bzip2-devel sqlite sqlite-devel openssl-devel

2.重新编译安装python3.5

/usr/local/lib是之前python3.5的安装路径,使用altinstall增量安装,因此zlib安装路径要和之前的安装路径保持一致

./configure --with-zlib-dir=/usr/local/lib
make
make altinstall

使用下面的语句确保没有报错了

python3.5 -m ensurepip

检查一下,现在的情况如下图。这么说,pip装好了,python2.7和3.5应该都可以用pip了。

What! 为什么还是不能用??

后来发现wget也用不了。。怀疑是机器本身网络有问题!

找了云主机的网络管理员帮忙检查,在开通了防火墙所有进出端口之后,wget好了!pip install好了一半,如下:

啊!每次以为终于要通关了,却还有新的一关,泪目啊!

我决定先把readline源码包下载了再说,于是:(使用-i指定国内的pip源,下载快啊)

(其实没装pip也完全可以下载啊,找到对应版本包去wget下来就好了嘛)

python3.5 -m pip download readline -i https://pypi.doubanio.com/simple

咱自己编译安装吧,像这样安装python第三方源码包:

tar -xf readline-6.2.4.1.tar.gz
cd readline-6.2.4.1
python setup.py install #这句最关键

然而还是报错啊,跟之前pip install报错内容一样的。于是又google了一下,参考了这个http://stackoverflow.com/questions/22166277/gcc-error-when-im-trying-to-install-readline-6-2

安装了这些:

yum install -y patch
yum install -y readline-devel #这个连带装了依赖包ncurses-dev

再次编译安装

python setup.py install

终于安装上了!使用pip list可以列出所有已安装的第三方python包(只包括被pip收录的那些)

在python3.5中使用pip的更多相关文章

  1. TensorFlow 1.2.0新版本完美支持Python3.6,windows在cmd中输入pip install tensorflow就能下载应用最新tensorflow

    TensorFlow 1.2.0新版本完美支持Python3.6,windows在cmd中输入pip install tensorflow就能下载应用最新tensorflow 只需在cmd中输入pip ...

  2. 在python3.5中pip安装scrapy,遇到 error: Microsoft Visual C++ 14.0 is required

    本来在python3.5中安装scrapy一路顺畅(pip install scrapy),中间遇到一个 error: Microsoft Visual C++ 14.0 is required. x ...

  3. Windows7中如何让python2和python3共存并使用pip

    1.下载安装python2和python3 分别下载python2.7.exe.python3.6.exe并安装到C盘.E盘(如图)     2.配置环境变量 打开“系统变量”中的path文本框(如图 ...

  4. Linux CentOS7下安装Python3及其setuptools、pip

    CentOS 7系统自带Python2.7,我们尽量别去卸载它!!否则会出问题,比如yum无法使用等问题. 假若,在安装Python3时没有自动安装setuptools和pip,那么,如何在CentO ...

  5. Python3.5中安装Scrapy包时出现问题

    在Python3.5中安装Scrapy第三方库 pip install Scrapy 安装到后面出现的这类错误: error: Microsoft Visual C++ 14.0 is require ...

  6. 解决python3与python2的pip命令冲突问题冲突(window版)

    解决方法再上一篇有大概讲解: python开发环境安装配置 这里做一些补充: 上一篇说过,删除python3和python2中的python.exe文件后关闭dos窗口,重新打开dos,就可以进行安装 ...

  7. 安装python3.6后使用pip报错

    安装python3.6后,pip是一起安装好的,安装目录再C:\Programs\Python\Python36-32\Scripts中. 在python终端模式下使用pip出现错误如下: 错误原因: ...

  8. python中使用pip安装报错:Fatal error in launcher... 解决方法

    python安装了2和3版本在 cmd 中用pip报的错误为:Fatal error in launcher:Unable to create process using 这是因为你安装了python ...

  9. python3虚拟环境中解决 ModuleNotFoundError: No module named '_ssl'

    前提是已经安装了openssl 问题 当我在python3虚拟环境中导入ssl模块时报错,报错如下: (py3) [root@localhost Python-3.6.3]# python3 Pyth ...

随机推荐

  1. 张恭庆编《泛函分析讲义》第二章第4节 $Hahn$-$Banach$ 定理习题解答

    1.次线性泛函的性质 设 $p$ 是实线性空间 $\scrX$ 上的次线性泛函, 求证: (1)$p(0)=0$; (2)$p(-x)\geq -p(x)$; (3)任意给定 $x_0\in \scr ...

  2. 斑马打印机网卡ZebraNet配置(有线)

    实图: 抽象图: 说明: 1.并口,用于连接斑马打印机一端 2.网络连接状态指示灯 3.打印状态指示灯 4.测试按钮,在连接打印机的情况下,按下此键,会打印出网卡信息. 5.网线接口 按下测试按钮之后 ...

  3. Eclipse内置Tomcat的配置

    1.首先肯定是得下载J2EE版本的eclipse了,再去Apache Tomcat的官网去下一个Tomcat.都解压到自己想放的目录 2.Eclipse -> Preferences -> ...

  4. 树莓派:使用OpenCV调用自带的摄像头.

    总所周知,树莓派上,调用摄像头的指令有raspistill和raspivid.若要使用opencv对摄像头进行调用,不少人会出现 cvCaptureFromCAM(0)函数无法找到Pi Cam的错误情 ...

  5. tcpdump命令--实用篇

    //查看本机与mysql的操作命令 注意 -i any表示监听所有网络接口,我们也根据自身情况选择网络接口 #tcpdump -i any -w - dst port 3306 |strings // ...

  6. Session 与cookies 的区别

    两个都可以用来存私密的东西,同样也都有有效期的说法. 区别在于:session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去. ...

  7. 定时任务 Crontab命令 详解

    crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用 crontab,那么任务就是常驻程序,这对你的程序要求比较高 ...

  8. 关于Objective-C 对象release操作的一个小问题探讨

    来源:http://blog.csdn.net/duxinfeng2010/article/details/8757211 最近遇到这样一个问题,以前的时候并未注意:新建一个工程,然后添加一个类,文件 ...

  9. .NET 中文转缩写拼音

    public class CNToSpell { /// 汉字转拼音缩写 /// Code By MuseStudio@hotmail.com /// 2004-11-30 /// 要转换的汉字字符串 ...

  10. freemarker空值的多种处理方法

    默认情况下,freemarker的变量必须有值,如果没有被赋值的变量在页面上使用就会抛出异常,出错的信息都会显示在页面上. 解决办法: 方法一.我们可以在页面上使用freemarker变量时 以 ${ ...