分享

ubuntu14.10安装pip+python27+ipython+scrapy+zlib-及遇到的各种问题解决

lovebyz 2016-4-23 14:38:10 发表于 疑问解答 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 10154

=====================(从文章中间开始为正确安装的解决方案)======
(1)
# xz -d Python-2.7.11.tar.xz
# tar xvf Python-2.7.11.tar
# cd Python-2.7.11/
# ./configure
# make && make install

(2)
:~$ sudo apt-get install python-setuptools


---------------------(网上的ZipImportError错误解决方案)--

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

如果过程中报:zlib包,那么需要先执行:yum install zlib zlib-devel, 安装zlib,然后重新编译安装python

最后设置环境变量,pip默认安装实在当前版本python目录的bin下,所以将此目录设置到环境变量中即可

raini@biyuzhe:/usr/lib/python2.7/dist-packages$ sudo rm -rf  ./pip-1.5.4.egg-info

(3)
----------------(下载源码来安装zlib软件包)---------------

试过sudo apt-get install zlib,似乎Ubuntu官方源中不含zlib软件包,只有到zlib官方网站:http://www.zlib.net上下载源码来安装zlib软件包。

最新版本zlibzlib-1.2.8,安装;

$wget http://www.zlib.net/zlib-1.2.8.tar.gz
$tar -xvzf zlib-1.2.8.tar.gz
$cd zlib-1.2.8.tar.gz
$./configure
$make
$sudo make install

-------------(官网提供的测试方法)-----------

Upgrading pip

On Linux or OS X:      pip install -U pip

(4)
------------------------ python 安装easy_install和pip


easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的

首先安装easy_install

    下载地址:https://pypi.python.org/pypi/ez_setup

解压,安装.

    raini@biyuzhe:~/app/ez_setup-0.9$ sudo python ez_setup.py


安装好easy_install 之后 再--(安装pip)---

    下载地址:https://pypi.python.org/pypi/pip

解压,安装.

    raini@biyuzhe:~/app/pip-8.1.1$ sudo python setup.py install


==========================()===============(分割线)====================


---------(-ubuntu安装pip后使用出现ImportError: cannot import name HTTPSHandl):

--解决:

---sudo apt-get install openssl
---sudo apt-get install libssl-dev (RedHat、centos才是openssl-devel)



下列软件包有未满足的依赖关系:
libssl-dev : 依赖: libssl1.0.0 (= 1.0.1f-1ubuntu2.18) 但是 1.0.1f-1ubuntu9.8 正要被安装
              推荐: libssl-doc 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

原因:
    已安装的libssl1.0.0版本太高, 无法支持

-----(查看当前libssl-dev版本情况)---------raini@biyuzhe:~$ dpkg -l *libssl*

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称           版本         架构:       描述
+++-==============-============-============-=================================
ii  libssl1.0.0:am 1.0.1f-1ubun amd64        Secure Sockets Layer toolkit - sh


------------------------(--解决方案(注意选项):


1.----( 安装aptitude )-----使用aptitude软件包管理器
   
$sudo apt-get install aptitude

2. 使用aptitude安装 libssl-dev包, 采用建议的解决方案(将libssl1.0.0版本降级)

-----------raini@biyuzhe:~$ sudo apt-get install aptitude

正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
aptitude 已经是最新的版本了。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 74 个软件包未被升级。
raini@biyuzhe:~$ sudo aptitude install libssl-dev
下列“新”软件包将被安装。         
  libssl-dev{b} libssl-doc{a}
0 个软件包被升级,新安装 2 个, 0 个将被删除, 同时 74 个将不升级。
需要获取 2,036 kB 的存档。 解包后将要使用 7,819 kB。
下列软件包存在未满足的依赖关系:
libssl-dev : 依赖: libssl1.0.0 (= 1.0.1f-1ubuntu2.18) 但是 1.0.1f-1ubuntu9.8 已安装。
下列动作将解决这些依赖关系:

     保持 下列软件包于其当前版本:
1)     libssl-dev [未安装的]      

是否接受该解决方案?[Y/n/q/?] n
下列动作将解决这些依赖关系:

     降级 下列软件包:                                                         
1)     libssl1.0.0 [1.0.1f-1ubuntu9.8 (now) -> 1.0.1f-1ubuntu2.18 (trusty-securi

是否接受该解决方案?[Y/n/q/?] y
下列软件包将被“降级”:
  libssl1.0.0
下列“新”软件包将被安装。
  libssl-dev libssl-doc{a}
0 个软件包被升级,新安装 2 个, 1 个被降级, 0 个将被删除, 同时 74 个将不升级。
需要获取 2,866 kB 的存档。 解包后将要使用 7,783 kB。
您要继续吗?[Y/n/?] y
读取: 1 http://mirrors.163.com/ubuntu/ trusty-security/main libssl1.0.0 amd64 1.0.1f-1ubuntu2.18 [830 kB]
读取: 2 http://mirrors.163.com/ubuntu/ trusty-security/main libssl-dev amd64 1.0.1f-1ubuntu2.18 [1,071 kB]
读取: 3 http://mirrors.163.com/ubuntu/ trusty-security/main libssl-doc all 1.0.1f-1ubuntu2.18 [966 kB]
已下载 2,866 kB,耗时 14秒 (197 kB/s)                                          
正在预设定软件包 ...
dpkg:警告:即将把 libssl1.0.0:amd64 从 1.0.1f-1ubuntu9.8 降级到 1.0.1f-1ubuntu2.18
(正在读取数据库 ... 系统当前共安装有 208325 个文件和目录。)
正准备解包 .../libssl1.0.0_1.0.1f-1ubuntu2.18_amd64.deb  ...
正在将 libssl1.0.0:amd64 (1.0.1f-1ubuntu2.18) 解包到 (1.0.1f-1ubuntu9.8) 上 ...
正在选中未选择的软件包 libssl-dev:amd64。
正准备解包 .../libssl-dev_1.0.1f-1ubuntu2.18_amd64.deb  ...
正在解包 libssl-dev:amd64 (1.0.1f-1ubuntu2.18) ...
正在选中未选择的软件包 libssl-doc。
正准备解包 .../libssl-doc_1.0.1f-1ubuntu2.18_all.deb  ...
正在解包 libssl-doc (1.0.1f-1ubuntu2.18) ...
正在处理用于 man-db (2.7.0.2-2) 的触发器 ...
正在设置 libssl1.0.0:amd64 (1.0.1f-1ubuntu2.18) ...
正在设置 libssl-dev:amd64 (1.0.1f-1ubuntu2.18) ...
正在设置 libssl-doc (1.0.1f-1ubuntu2.18) ...
正在处理用于 libc-bin (2.19-10ubuntu2.3) 的触发器 ...
                  

----(验证libssl-dev包安装情况_: raini@biyuzhe:~$ dpkg -l *libssl*

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称           版本         架构:       描述
+++-==============-============-============-=================================
ii  libssl-dev:amd 1.0.1f-1ubun amd64        Secure Sockets Layer toolkit - de
ii  libssl-doc     1.0.1f-1ubun all          Secure Sockets Layer toolkit - de
ii  libssl1.0.0:am 1.0.1f-1ubun amd64        Secure Sockets Layer toolkit - sh


-----(重新安装libssl-dev)------raini@biyuzhe:~$ sudo apt-get install libssl-dev

正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
libssl-dev 已经是最新的版本了。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 74 个软件包未被升级。



-----(重新编译安装python)--root@biyuzhe:/home/raini/app/Python-2.7.11# ./configure --prefix=/usr/local/python

                  # make && make install


-----(替换系统自带python)--root@biyuzhe:/home/raini/app/Python-2.7.11# python -V
Python 2.7.11
root@biyuzhe:/home/raini/app/Python-2.7.11#    mv /usr/bin/python /usr/bin/python2.6
root@biyuzhe:/home/raini/app/Python-2.7.11#    ln -sf /usr/local/python/bin/python2.7 /usr/bin/python (这样就不用sudo python启动了)



-----(重新安装PIP)---root@biyuzhe:/home/raini/app/pip-8.1.1# python setup.py install

====================================================================================

=========================================(Pip安装成功)===================

====================================================================================

-------------------(安装算据工具:Scrapy)----(要先安装lxml和openssl:如上步骤以安装)-
Scrapy终端将使用 IPython (替代标准Python终端)。 IPython 终端与其他相比更为强大,提供智能的自动补全,高亮输出,及其他特性。
Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。

安装Twisted

    下载Twisted
cd Twisted-15.2.1
    python setup.py install

1.
    root@biyuzhe:/home/raini/app# pip install lxml
    root@biyuzhe:/home/raini/app# openssl
        OpenSSL> exit
    root@biyuzhe:/home/raini/app# pip install Scrapy
    root@biyuzhe:/home/raini/app# scrapy (y验证:注意大小写)

Scrapy 1.0.5 - no active project

Usage:
  scrapy <command> [options] [args]

Available commands:
  bench         Run quick benchmark test
  commands      
  fetch         Fetch a URL using the Scrapy downloader
  runspider     Run a self-contained spider (without creating a project)
  settings      Get settings values
  shell         Interactive scraping console
  startproject  Create new project
  version       Print Scrapy version
  view          Open URL in browser, as seen by Scrapy

  [ more ]      More commands available when run from project directory

Use "scrapy <command> -h" to see more info about a command





------(更新 ipython)--raini@biyuzhe:~$ pip install --upgrade ipython
        root@biyuzhe:/Python-2.7.11# pip install --upgrade notebook



------(更新pip)--raini@biyuzhe:~$ pip install --upgrade pip

Downloading/unpacking pip from https://pypi.python.org/packages ... 9c29d54a76650f170eb
  Downloading pip-8.1.1-py2.py3-none-any.whl (1.2MB): 1.2MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
  Can't roll back pip; was not uninstalled
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1436, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 672, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 902, in move_wheel_files
    pycompile=self.pycompile,
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 206, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 193, in clobber
    os.makedirs(destsubdir)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pip-8.1.1.dist-info'

Storing debug log for failure in /home/raini/.pip/pip.log


没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条