我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. NeHe OpenGL教程 第四课:旋转

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. 触发隐藏链接进行文件下载,click无响应

    function invokeClick(element) { if (element.click) element.click(); //判断是否支持click() 事件 else if (elem ...

  3. DataGridView操作

    C# DataGridView控件动态添加新行 DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如 ...

  4. centos更改默认语言

    centos7以下版本: vim /etc/sysconfig/i18n 7以上版本:

  5. Guava 12-数学运算

    范例 int logFloor = LongMath.log2(n, FLOOR); int mustNotOverflow = IntMath.checkedMultiply(x, y); long ...

  6. WCF服务在高并发情况下报目标积极拒绝的异常处理 z

    http://www.cnblogs.com/kklldog/p/5037006.html wcf的监控服务,偶尔监控到目标服务会报一个目标积极拒绝的错误.一开始以为服务停止了,上服务器检查目标服务好 ...

  7. by which, in which, from which 语法区别

    (1)Here is Beijing,where I grow up.where其实也是指代北京,不过where是在北京的意思,也就是 in Beijing (2)Here is Beijing,in ...

  8. HTTP gzip和deflate的几点区别

    gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分:deflate是一种压缩算法,是huffman编码的一种加强. deflate与gzip解压的代码几乎相同,可以合成一块代码 ...

  9. Oracle中的单行函数

    Oracle中的单行函数 1 字符函数 UPPER()--将字符串转换为大写 SELECT UPPER('abc') FROM dual; LOWER()-将字符串转换为小写 SELECT LOWER ...

  10. InnoSetup打包exe安装应用程序,并添加卸载图标 转

    http://blog.csdn.net/guoquanyou/article/details/7445773 InnoSetup真是一个非常棒的工具.给我的印象就是非常的精干.所以,该工具已经一步步 ...