zoukankan      html  css  js  c++  java
  • 部署一个Python爬虫环境(五)-ubuntu版_实际系统篇-失败

    由于(二)中我们做了好多操作,所以我把系统还原到(二)操作前的状态,然后才进行了下面的处理

    一,部署环境及安装包

    系统:Ubuntu 14.04.4 LTS

    1.系统自带的python或python3.7

    2.Python安装 包安装和管理工具pip

    3.pip安装 代理/抓包工具Mitmproxy

    4.pip安装 传输和存储数据工具protobuf

    二,操作:

    查看软件版本

    root@Server:~# python3 --version
    Python 3.4.3
    root@Server:~# pip --version
    程序“pip”尚未安装。 您可以使用以下命令安装:
    apt-get install python-pip
    root@Server:~# mitmproxy --version
    程序“mitmproxy”尚未安装。 您可以使用以下命令安装:
    apt-get install mitmproxy

    1.Python3.4.3

    1)安装pip

    sudo apt update
    #出现一些错误:
    错误 http:
    //www.remastersys.com oneiric/main amd64 Packages 404 Not Found 错误 http://www.remastersys.com oneiric/main i386 Packages 404 Not Found 忽略 http://www.remastersys.com oneiric/main Translation-zh_CN 忽略 http://www.remastersys.com oneiric/main Translation-zh 忽略 http://www.remastersys.com oneiric/main Translation-en 错误 http://www.remastersys.com precise/main amd64 Packages 404 Not Found 错误 http://www.remastersys.com precise/main i386 Packages 404 Not Found 忽略 http://www.remastersys.com precise/main Translation-zh_CN 忽略 http://www.remastersys.com precise/main Translation-zh 忽略 http://www.remastersys.com precise/main Translation-en 下载 15.6 MB,耗时 32秒 (473 kB/s) W: 无法下载 http://www.remastersys.com/ubuntu/dists/oneiric/main/binary-amd64/Pa ckages 404 Not Found W: 无法下载 http://www.remastersys.com/ubuntu/dists/oneiric/main/binary-i386/Pac kages 404 Not Found W: 无法下载 http://www.remastersys.com/ubuntu/dists/precise/main/binary-amd64/Pa ckages 404 Not Found W: 无法下载 http://www.remastersys.com/ubuntu/dists/precise/main/binary-i386/Pac kages 404 Not Found E: Some index files failed to download. They have been ignored, or old ones used instead.

      先不管,接着装pip

    sudo apt install python3-pip
    提示:
      W: 您可能需要运行 apt-get update 来解决这些问题
      E: Sub-process /usr/bin/dpkg returned an error code (1)

      这里必须要解决一下了,它的意思就是说”你的dpkg源失效了“;源文件地址是: /etc/apt/sources.list。

      首先,我把(四)中系统的源文件拷过来,发现不能解决问题。

      我查了下是因为系统版本不同源也不同。

      我参照:https://www.cnblogs.com/dtiove/p/5917263.html

      把阿里14.04源替换到源文件里

    deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

    重新执行

    sudo apt update
    python3 --version  # 看下它的版本有没有变
    sudo apt install python3-pip

       结果:

    root@Server:~# pip3 --version
    pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)

      这里安装pip是成功的。

      现在想来,python3xb中遇到的问题二,解决过程出现了源失效的问题,虽然更换过源,但是在哪个环节换的,换成了什么我忘记了。

      这里pip是1.5.4,我们在(二)中知道”pip8.1.1的简易版“安装Mitmproxy”时有问题,是简易版的问题还是8.1.1以前的版本装Mitmproxy有问题呢(我觉得是简易版或系统里缺少一些包的事),下面我们做下验证(如果失败,我会采取安装python3.7的路子)

    2)安装Mitmproxy

    pip3 install mitmproxy

    结果

    。。。
    Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/cryptography Storing debug log for failure in /root/.pip/pip.log

    对策

    sudo python3 -m pip install --upgrade --force pip  #python3 换成自己的版本
    sudo pip3 install setuptools==9.0.1  #9.0.1是(三)中用的版本

      这里执行第一条时,报错

    root@Server:~# sudo python3 -m pip install --upgrade --force pip
    Downloading/unpacking pip
      Downloading pip-21.0.1-py3-none-any.whl (1.5MB): 1.5MB downloaded
    Installing collected packages: pip
      Found existing installation: pip 1.5.4
        Not uninstalling pip at /usr/lib/python3/dist-packages, owned by OS
    *** Error compiling '/tmp/pip_build_root/pip/pip/_internal/cli/base_command.py'...
      File "/tmp/pip_build_root/pip/pip/_internal/cli/base_command.py", line 57
        'prog': f'{get_prog()} {name}',

      麻烦又回到(二)了,卸载pip3-重安装下-升级pip3,命令如下:

    sudo apt-get remove python3-pip
    sudo apt-get install python3-pip
    sudo pip3 install --upgrade pi

      还是不行。卸载pip3,命令为上面第一个行。

      好吧,8.1.1及以前的版本装Mitmproxy可能有问题,或是系统里一些包的问题。

     

    2.Python3.7

    1)安装Python3.7

    apt-get install python3.7

      我们直接使用上面的命令是不能安装的,因为源库里没有python3.7的包

     然后我找到了一个Ubuntu14.04 安装 Python3.6的教程-

    https://blog.csdn.net/sinat_37026077/article/details/86628493 与 https://blog.csdn.net/th_num/article/details/82804392

    可以探索安装3.7,这里我们先按照教程安装下3.6吧

     安装Python3.6(PPA包管理工具)

    # 安装 ppa包管理工具-这个我第二个没安装,看情况吧
    sudo apt-get install --reinstall ca-certificates
    sudo apt-get install python-software-properties
    sudo apt-get install software-properties-common

    #添加ppa源-两个源
    sudo add-apt-repository ppa:jonathonf/python-3.6
    sudo add-apt-repository ppa:deadsnakes/ppa
    sudo apt update
    #安装
    sudo apt install python3.6 python3.6-dev -y

    #sudo apt update时就可以看到在下载python3.6的文件,记得做上面处理前一定要确保本页的源在源文件里(不用一个一个对,替换掉里面的阿里源就好了)。

      效果如下

    root@Server:~# python3.6 --version
    Python 3.6.8

      这个比(二)中的wget方法简易

    2)安装pip

    sudo apt install python3.6-pip

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

    错误:AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'

    python3 -m ensurepip --upgrade  #python会重新安装setuptools工具包

    不能解决

    不搞了,要不要再搭个服务器呢,(四)中的那个版本!

      方案一:搭建(四)中的服务器

      方案二:试着升级现有的服务器

     

    部署一个Python爬虫环境(六)-ubuntu版_升级现有服务器系统篇

     

    365个夜晚,我希望做到两天更一篇博客。加油,小白!
  • 相关阅读:
    左旋转字符串
    swoole(8)http服务
    整数反转
    两数之和
    广度优先搜索
    快速排序
    JavaScript当中的eval函数
    JavaScript中的作用域链原理
    git push和git pull
    cherry-pick,revert和rebase使用的3-way合并策略
  • 原文地址:https://www.cnblogs.com/qq2806933146xiaobai/p/14373123.html
Copyright © 2011-2022 走看看