我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. OC知识点

    1.@autoreleasepool why1 2.retain O-C内存管理和点语法1>OC内存管理正常情况要使用大量的retain和relrese操作2>点语法可以减少使用retai ...

  2. 白书 4.1.2 模运算的世界 P291

    1.逆元 这里有个注意事项要说,就是当要求 (a-b)%m 的时候要注意不能直接 (a%m-b%m)%m 原因是得出的值有可能是负数,所以 (a%m-b%m+m)%m 才是正确的. //x,y是引用 ...

  3. Java同步块

    原文:http://ifeve.com/synchronized-blocks/ Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java同步块用来避免竞争.本 ...

  4. Java线程专栏文章汇总(转)

    原文:http://blog.csdn.net/ghsau/article/details/17609747 JDK5.0之前传统线程        Java线程(一):线程安全与不安全 Java线程 ...

  5. go get 获得 golang.org 的项目

    go get 用来动态获取远程代码包的,目前支持的有BitBucket.GitHub.Google Code和Launchpad.这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是执行g ...

  6. 基于nginx和uWSGI在Ubuntu上部署Djan

    http://www.jianshu.com/p/e6ff4a28ab5a 文/Gevin(简书作者)原文链接:http://www.jianshu.com/p/e6ff4a28ab5a著作权归作者所 ...

  7. Android Eclipse 里面依赖工程无法关联源码解决方案

    android开发中,debug调试是一种非常实用快速定位问题的办法.eclipse中多工程依赖状态下会偶现无法debug的困扰,debug中的代码执行时会报出如下错误  The JAR of thi ...

  8. activity退出

    这里介绍两种方法:一种把每个activity记住,然后逐一干掉:另一种思路是使用广播.本文来源于网络,如有雷同,那是必须的.写此贴只是为了总结一下常用东东,还望原作者莫怪,本人真不是想侵权. 方法一. ...

  9. Oracle 11g新参数USE_LARGE_PAGES与AMM使用 (转载)

    在之前的文章(http://space.itpub.net/17203031/viewspace-774843)中,笔者介绍了如何在Linux 2.6内核中配置HugePage以及AMM与其的不兼容性 ...

  10. MFC学习 文件操作注册表操作

    c读写文件 void CFileView::OnRead() { FILE *pFile = fopen("1.txt", "r"); /*char ch[10 ...