ish安装scrapy记录

记录iphone手机安装 scrapy 包的步骤

收获:

当 pip3 install xxx 装不上时, 可以试试 apk add py3-xxx

效果图:

ish安装scrapy记录_第1张图片

步骤:

一. App Store 搜索下载 iSH

二. 安装 ssh:

welcome to Alpine!
You can install packages with: apk add 
You may change this message by editing /etc/motd.

1. apk add openssh

iPhone-3:~# apk add openssh
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.14
    /main/x86/APKINDEX.tar.gz
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.14
    /community/x86/APKINDEX.tar.gz
    (1/10) Installing openssh-keygen (8.6_p1-r3)
    (2/10) Installing ncurses-terminfo-base (6.2_p202
    10612-r1)
    (3/10) Installing ncurses-libs (6.2_p20210612-r1)
    (4/10) Installing libedit (20210216.3.1-r0)
    (5/10) Installing openssh-client-common (8.6_p1-r
    3)
    (6/10) Installing openssh-client-default (8.6_p1-
    r3)
    (7/10) Installing openssh-sftp-server (8.6_p1-r3)
    (8/10) Installing openssh-server-common (8.6_p1-r
    3)
    (9/10) Installing openssh-server (8.6_p1-r3)
    (10/10) Installing openssh (8.6_p1-r3)
    Executing busybox-1.33.1-r6.trigger
    OK: 12 MiB in 24 packages

2. ssh-keygen -A (此处可能需要稍等一下)

iPhone-3:~# ssh-keygen -A
	ssh-keygen: generating new host keys: RSA DSA ECD  SA ED25519

3. passwd 设置密码(123456)

iPhone-3:~# passwd
    Changing password for root
New password:
	Bad password: too weak
Retype password:
	passwd: password for root changed by root

4. echo ‘PermitRootLogin yes’>>/etc/ssh/sshd_config 配置权限

iPhone-3:~# echo 'PermitRootLogin yes'>>/etc/ssh/sshd_config

5. /usr/sbin/sshd 开启ssh

iPhone-3:~# /usr/sbin/sshd
iPhone-3:~#

三. 电脑cmd命令提示符窗口连接手机(设置/无线局域网/查看手机ip, 手机与电脑需要使用同一个路由 | 也可使用手机热点分享电脑, 电脑ipconfig查看dns即为手机ip)

Microsoft Windows [版本 10.0.19044.1889]
(c) Microsoft Corporation。保留所有权利。

1. ssh [email protected]

C:\Users\dell>ssh [email protected]
	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
	Someone could be eavesdropping on you right now (man-in-the-middle attack)!
	It is also possible that a host key has just been changed.
	The fingerprint for the ECDSA key sent by the remote host is
	SHA256:8iXU7B5HizAxbbvlcQ+or7SjJ5d+2FTYCq0gt3ZWd1Q.
	Please contact your system administrator.
	Add correct host key in C:\\Users\\dell/.ssh/known_hosts to get rid of this message.
	Offending ECDSA key in C:\\Users\\dell/.ssh/known_hosts:23
	ECDSA host key for 192.168.2.136 has changed and you have requested strict checking.
	Host key verification failed.

1.1 ssh-keygen -R 192.168.2.136 (有警告需要添加此行)

C:\Users\dell>ssh-keygen -R 192.168.2.136
	# Host 192.168.2.136 found: line 23
	C:\Users\dell/.ssh/known_hosts updated.
	Original contents retained as C:\Users\dell/.ssh/known_hosts.old

2. yes

C:\Users\dell>ssh [email protected]
	The authenticity of host '192.168.2.136 (192.168.2.136)' can't be established.
	ECDSA key fingerprint is SHA256:8iXU7B5HizAxbbvlcQ+or7SjJ5d+2FTYCq0gt3ZWd1Q.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
	Warning: Permanently added '192.168.2.136' (ECDSA) to the list of known hosts.

3. 输入设置的密码(123456)

[email protected]'s password:
Welcome to Alpine!
	
You can install packages with: apk add 

You may change this message by editing /etc/motd.

iPhone-3:~#

四. python安装

1. apk add python3

iPhone-3:~# apk add python3
	fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86/APKINDEX.tar.gz
	fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86/APKINDEX.tar.gz
	(1/11) Installing libbz2 (1.0.8-r1)
	(2/11) Installing expat (2.4.7-r0)
	(3/11) Installing libffi (3.3-r2)
	(4/11) Installing gdbm (1.19-r0)
	(5/11) Installing xz-libs (5.2.5-r1)
	(6/11) Installing libgcc (10.3.1_git20210424-r2)
	(7/11) Installing libstdc++ (10.3.1_git20210424-r2)
	(8/11) Installing mpdecimal (2.5.1-r1)
	(9/11) Installing readline (8.1.0-r0)
	(10/11) Installing sqlite-libs (3.35.5-r0)
	(11/11) Installing python3 (3.9.5-r2)
	Executing busybox-1.33.1-r6.trigger
	OK: 61 MiB in 35 packages

2. apk add --update py-pip

iPhone-3:~# apk add --update py-pip
    (1/25) Installing py3-appdirs (1.4.4-r2)
    (2/25) Installing py3-chardet (4.0.0-r2)
    (3/25) Installing py3-idna (3.2-r0)
    (4/25) Installing py3-urllib3 (1.26.5-r0)
    (5/25) Installing py3-certifi (2020.12.5-r1)
    (6/25) Installing py3-requests (2.25.1-r4)
    (7/25) Installing py3-msgpack (1.0.2-r1)
    (8/25) Installing py3-lockfile (0.12.2-r4)
    (9/25) Installing py3-cachecontrol (0.12.6-r1)
    (10/25) Installing py3-colorama (0.4.4-r1)
    (11/25) Installing py3-contextlib2 (0.6.0-r1)
    (12/25) Installing py3-distlib (0.3.1-r3)
    (13/25) Installing py3-distro (1.5.0-r3)
    (14/25) Installing py3-six (1.15.0-r1)
    (15/25) Installing py3-webencodings (0.5.1-r4)
    (16/25) Installing py3-html5lib (1.1-r1)
    (17/25) Installing py3-parsing (2.4.7-r2)
    (18/25) Installing py3-packaging (20.9-r1)
    (19/25) Installing py3-toml (0.10.2-r2)
    (20/25) Installing py3-pep517 (0.10.0-r2)
    (21/25) Installing py3-progress (1.5-r2)
    (22/25) Installing py3-retrying (1.3.3-r1)
    (23/25) Installing py3-ordered-set (4.0.2-r1)
    (24/25) Installing py3-setuptools (52.0.0-r3)
    (25/25) Installing py3-pip (20.3.4-r1)
    Executing busybox-1.33.1-r6.trigger
    OK: 82 MiB in 60 packages

五. scrapy安装:

1. 下载解压安装scrapy包

获取地址

Scrapy 2.6.2
→ Scrapy-2.6.2.tar.gz
→ 右键 → 复制链接地址
→ https://files.pythonhosted.org/packages/93/d1/0348e389b382f2093ddb866cb23073487379303233a782ad8ff1e9ae0fc8/Scrapy-2.6.2.tar.gz

下载解压安装scrapy:
iPhone-3:~# mkdir scrapy
iPhone-3:~# ls
    scrapy
iPhone-3:~# cd scrapy
iPhone-3:~/scrapy# ls
iPhone-3:~/scrapy# wget https://files.pythonhosted.org/packages/93/d1/0348e389b382f2093ddb866cb23073487379303233a782ad8ff1e9ae0fc8/Scrapy-2.6.2.tar.gz
    Connecting to files.pythonhosted.org (151.101.109.63:443)
    saving to 'Scrapy-2.6.2.tar.gz'
    Scrapy-2.6.2.tar.gz  100% |************************************************************************| 1081k  0:00:00 ETA
    'Scrapy-2.6.2.tar.gz' saved
iPhone-3:~/scrapy# ls
    Scrapy-2.6.2.tar.gz
iPhone-3:~/scrapy# tar -xf Scrapy-2.6.2.tar.gz
iPhone-3:~/scrapy# ls
    Scrapy-2.6.2         Scrapy-2.6.2.tar.gz	
iPhone-3:~/scrapy# cd Scrapy-2.6.2/
iPhone-3:~/scrapy/Scrapy-2.6.2# ls
	AUTHORS          MANIFEST.in      README.rst       conftest.py      pytest.ini       setup.py
	INSTALL          NEWS             Scrapy.egg-info  docs             scrapy           tests
	LICENSE          PKG-INFO         codecov.yml      extras           setup.cfg        tox.ini
iPhone-3:~/scrapy/Scrapy-2.6.2# python3 setup.py install
	...
	warning: no previously-included files matching '*.bat' found anywhere in distribution
	warning: no previously-included files matching './CVS' found anywhere in distribution
	warning: no previously-included files matching '.cvsignore' found anywhere in distribution
	zip_safe flag not set; analyzing archive contents...
	Moving PyDispatcher-2.0.5-py3.9.egg to /usr/lib/python3.9/site-packages
	Adding PyDispatcher 2.0.5 to easy-install.pth file
	
	Installed /usr/lib/python3.9/site-packages/PyDispatcher-2.0.5-py3.9.egg
	Searching for lxml>=3.5.0
    Reading https://pypi.org/simple/lxml/
    Downloading https://files.pythonhosted.org/packages/70/bb/7a2c7b4f8f434aa1ee801704bf08f1e53d7b5feba3d5313ab17003477808/lxml-4.9.1.tar.gz#sha256=fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f
    Best match: lxml 4.9.1
    Processing lxml-4.9.1.tar.gz
    Writing /tmp/easy_install-3yrt2xvo/lxml-4.9.1/setup.cfg
    Running lxml-4.9.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-3yrt2xvo/lxml-4.9.1/egg-dist-tmp-3bsprqzl
    Building lxml version 4.9.1.
    Building without Cython.
    Error: Please make sure the libxml2 and libxslt development packages are installed.
    error: Setup script exited with 1

2. 安装依赖包:

apk add py3-lxml py3-cryptography py3-service_identity py3-openssl
iPhone-3:~/scrapy/Scrapy-2.6.2# apk add py3-lxml py3-cryptography py3-service_identity py3-openssl
    (1/15) Installing py3-cparser (2.20-r1)
    (2/15) Installing py3-cffi (1.14.5-r1)
    (3/15) Installing py3-asn1crypto (1.4.0-r1)
    (4/15) Installing py3-cryptography (3.3.2-r1)
    (5/15) Installing libgpg-error (1.42-r0)
    (6/15) Installing libgcrypt (1.9.4-r0)
    (7/15) Installing libxml2 (2.9.14-r1)
    (8/15) Installing libxslt (1.1.35-r0)
    (9/15) Installing py3-lxml (4.6.3-r1)
    (10/15) Installing py3-openssl (20.0.1-r1)
    (11/15) Installing py3-asn1 (0.4.8-r1)
    (12/15) Installing py3-asn1-modules (0.2.8-r1)
    (13/15) Installing py3-attrs (20.3.0-r1)
    (14/15) Installing py3-characteristic (14.3.0-r7)
    (15/15) Installing py3-service_identity (18.1.0-r4)
    Executing busybox-1.33.1-r6.trigger
    OK: 97 MiB in 75 packages
pip3 install twisted w3lib parsel tldextract itemadapter itemloaders protego queuelib
iPhone-3:~/scrapy/Scrapy-2.6.2# pip3 install twisted  w3lib parsel tldextract itemadapter itemloaders  protego  queuelib
    Collecting twisted
    Downloading Twisted-22.4.0-py3-none-any.whl (3.1 MB)
        |████████████████████████████████| 3.1 MB 275 kB/s
    Collecting w3lib
    Downloading w3lib-2.0.1-py3-none-any.whl (20 kB)
    Collecting parsel
    Downloading parsel-1.6.0-py2.py3-none-any.whl (13 kB)
    Collecting tldextract
    Downloading tldextract-3.3.1-py3-none-any.whl (93 kB)
        |████████████████████████████████| 93 kB 96 kB/s
    Collecting itemadapter
    Downloading itemadapter-0.7.0-py3-none-any.whl (10 kB)
    Collecting itemloaders
    Downloading itemloaders-1.0.4-py3-none-any.whl (11 kB)
    Collecting protego
    Downloading Protego-0.2.1-py2.py3-none-any.whl (8.2 kB)
    Collecting queuelib
    Downloading queuelib-1.6.2-py2.py3-none-any.whl (13 kB)
    Collecting jmespath>=0.9.5
    Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
    Requirement already satisfied: six>=1.6.0 in /usr/lib/python3.9/site-packages (from parsel) (1.15.0)
    Requirement already satisfied: lxml in /usr/lib/python3.9/site-packages (from parsel) (4.6.3)
    Collecting cssselect>=0.9
    Downloading cssselect-1.1.0-py2.py3-none-any.whl (16 kB)
    Collecting requests-file>=1.4
    Downloading requests_file-1.5.1-py2.py3-none-any.whl (3.7 kB)
    Collecting filelock>=3.0.8
    Downloading filelock-3.8.0-py3-none-any.whl (10 kB)
    Requirement already satisfied: idna in /usr/lib/python3.9/site-packages (from tldextract) (3.2)
    Requirement already satisfied: requests>=2.1.0 in /usr/lib/python3.9/site-packages (from tldextract) (2.25.1)
    Requirement already satisfied: chardet<5,>=3.0.2 in /usr/lib/python3.9/site-packages (from requests>=2.1.0->tldextract) (4.0.0)
    Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3.9/site-packages (from requests>=2.1.0->tldextract) (1.26.5)
    Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3.9/site-packages (from requests>=2.1.0->tldextract) (2020.12.5)
    Collecting hyperlink>=17.1.1
    Downloading hyperlink-21.0.0-py2.py3-none-any.whl (74 kB)
        |████████████████████████████████| 74 kB 140 kB/s
    Collecting typing-extensions>=3.6.5
    Downloading typing_extensions-4.3.0-py3-none-any.whl (25 kB)
    Collecting Automat>=0.8.0
    Downloading Automat-20.2.0-py2.py3-none-any.whl (31 kB)
    Collecting constantly>=15.1
    Downloading constantly-15.1.0-py2.py3-none-any.whl (7.9 kB)
    Collecting zope.interface>=4.4.2
    Downloading zope.interface-5.4.0.tar.gz (249 kB)
        |████████████████████████████████| 249 kB 356 kB/s
    Collecting incremental>=21.3.0
    Downloading incremental-21.3.0-py2.py3-none-any.whl (15 kB)
    Requirement already satisfied: attrs>=19.2.0 in /usr/lib/python3.9/site-packages (from twisted) (20.3.0)
    Requirement already satisfied: setuptools in /usr/lib/python3.9/site-packages (from zope.interface>=4.4.2->twisted) (52.0.0)
    Using legacy 'setup.py install' for zope.interface, since package 'wheel' is not installed.
    Installing collected packages: w3lib, cssselect, zope.interface, typing-extensions, requests-file, parsel, jmespath, itemadapter, incremental, hyperlink, filelock, constantly, Automat, twisted, tldextract, queuelib, protego, itemloaders
        Running setup.py install for zope.interface ... done

3. 另启动一个cmd, ssh连接手机, 输入 scrapy 查看:

C:\Users\dell>ssh [email protected]
[email protected]'s password:
	Welcome to Alpine!
	
	You can install packages with: apk add 
	
	You may change this message by editing /etc/motd.

iPhone-3:~# scrapy
	Scrapy 2.6.2 - no active project
	
	Usage:
	  scrapy  [options] [args]
	
	Available commands:
	  bench         Run quick benchmark test
	  commands
	  fetch         Fetch a URL using the Scrapy downloader
	  genspider     Generate new spider using pre-defined templates
	  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  -h" to see more info about a command

以下为记录备份.

scrapy 尝试安装记录:

● 安装 pip 
● 安装 scrapy:
    此处打开一个cmd, pip3 install scrapy → 卡住 → 再打开一个cmd, 输入 pip3 install scrapy, 一直重复
    iPhone-6:~# pip3 install scrapy
    Collecting scrapy
    WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /packages/e2/8a/e3870cd597bbd4f47d7e1c97bbb67a6293270b9c413e083058ce6d6c7eb7/Scrapy-2.6.2-py2.py3-none-any.whl
    Downloading Scrapy-2.6.2-py2.py3-none-any.whl (264 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━ 194.6/264.5 kB 1.0 MB/s eta 0:00:01
    → 最后卡在 Installing build dependencies ... \   ...
● 查询后, 解决方案为手动安装..:
    → 官网下载包 scrapy:
        https://pypi.org/project/Scrapy/#files
        https://files.pythonhosted.org/packages/93/d1/0348e389b382f2093ddb866cb23073487379303233a782ad8ff1e9ae0fc8/Scrapy-2.6.2.tar.gz
    → 解压 Scrapy-2.6.2.tar.gz 
    → 在ish新建scrapy目录, 将 解压文件夹复制到 ish root/scrapy 
        F:\SoftwareInstallers\Scrapy-2.6.2.tar\Scrapy-2.6.2>scp -r Scrapy-2.6.2 [email protected]:/root/scrapy
    → 安装:
        iPhone-6:~# cd scrapy
        iPhone-6:~/scrapy# cd Scrapy-2.6.2/
        iPhone-6:~/scrapy/Scrapy-2.6.2# ls
        iPhone-6:~/scrapy/Scrapy-2.6.2# python3 setup.py install
        iPhone-6:~/scrapy/Scrapy-2.6.2# scrapy 
        ModuleNotFoundError: No module named 'twisted'
        iPhone-6:~/scrapy/Scrapy-2.6.2# pip3 install twisted
        iPhone-6:~/scrapy/Scrapy-2.6.2# scrapy 
        ModuleNotFoundError: No module named 'w3lib'
        iPhone-6:~/scrapy/Scrapy-2.6.2# pip3 install w3lib
        iPhone-6:~/scrapy/Scrapy-2.6.2# scrapy 
        ModuleNotFoundError: No module named 'lxml'
    → 使用清华源:
        pip3 install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple
        pip3 install lxml -i --trusted-host http://mirrors.aliyun.com/pypi/simple/
        pip3 install lxml -i https://pypi.mirrors.ustc.edu.cn/simple


    → 下载 lxml:
        https://pypi.org/project/lxml/#files

        # pip3 install lxml
        Error: Please make sure the libxml2 and libxslt development packages are installed.

        # apk add gcc
        # apk add libxslt-dev 
        # pip3 install lxml       // 删除了 requirements.txt 里的内容.
        Using legacy 'setup.py install' for lxml, since package 'wheel' is not installed.
        下载 lxml-4.9.1 → python3 setup.py install 
        Python.h: No such file or directory 
        # apk add python3-dev 
        lxml4.9.1# python3 setup.py install
        卡在 gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fomi
        → 下载 lxml-4.1.1
        lxml4.1.1# python3 setup.py install 
        还是卡在 gcc...
        PyTypeObject' {aka 'struct _typeobject'} has no member named 'tp_print'
        233409 |   __pyx_type_4lxml_5etree__Comment.tp_print = 0;
        → 说是 python3.6 能解决问题
        → 花了大半时间在这上面, 后面搜索到, 用下面命令就可以安装...
        # apk add py3-lxml 
        # scrapy 
        ModuleNotFoundError: No module named 'parsel'
        # pip3 install parsel
        ERROR: pip's dependency resolver does not currently take ...
        // ...
        Successfully installed cssselect-1.1.0 parsel-1.6.0
        # scrapy 
         The 'tldextract' distribution was not found and is required by Scrapy
        # pip3 install tldextract
        ERROR: pip's dependency resolver does not currently take ...
        // ...
        Successfully
        # scrapy 
        .DistributionNotFound: The 'itemadapter>=0.1.0' distribution was not found and is required by Scrapy
        # pip3 install itemadapter
        Successfully
        # scrapy 
            scrapy 2.6.2 requires cryptography>=2.0, which is not installed.
            scrapy 2.6.2 requires itemloaders>=1.0.1, which is not installed.
            scrapy 2.6.2 requires protego>=0.1.15, which is not installed.
            scrapy 2.6.2 requires pyOpenSSL>=16.2.0, which is not installed.
            scrapy 2.6.2 requires queuelib>=1.4.2, which is not installed.
            scrapy 2.6.2 requires service_identity>=16.0.0, which is not installed.
        # pip3 install cryptography
            卡老半天.. Installing build dependencies ...
        # apk add py3-cryptography
        # apk add py3-service_identity 
        # pip3 install itemloaders 
        # pip3 install protego 
        # pip3 install pyOpenSSL 
            Installing build dependencies ...   卡了一会儿
            Installing build dependencies ... done
            ...
             Building wheel for cryptography (pyproject.toml) ... error
        # apk add py3-openssl 
        # pip3 install queuelib
        iPhone-6:~/scrapy/lxml-4.5.0# scrapy
            Scrapy 2.6.2 - no active project

            Usage:
            scrapy  [options] [args]

            Available commands:
            bench         Run quick benchmark test
            commands
            fetch         Fetch a URL using the Scrapy downloader
            genspider     Generate new spider using pre-defined templates
            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  -h" to see more info about a command
        iPhone-6:~/scrapy/lxml-4.5.0#

cmd备份:

                iPhone-6:~# cd scrapy
                iPhone-6:~/scrapy# ls
                Scrapy-2.6.2                         lxml-4.1.1                           lxml-4.9.1
                libxml2                              lxml-4.1.1-cp34-cp34m-win_amd64.whl
                lxml                                 lxml-4.5.0
                iPhone-6:~/scrapy# cd lxml-4.5.0
                iPhone-6:~/scrapy/lxml-4.5.0# ls
                CHANGES.txt                PKG-INFO                   requirements.txt           test.py
                CREDITS.txt                README.rst                 samples                    tools
                INSTALL.txt                TODO.txt                   setup.cfg                  update-error-constants.py
                LICENSES.txt               benchmark                  setup.py                   versioninfo.py
                MANIFEST.in                buildlibxml.py             setupinfo.py
                Makefile                   doc                        src
                iPhone-6:~/scrapy/lxml-4.5.0# python3 setup.py install
                Building lxml version 4.5.0.
                Building without Cython.
                Using build configuration of libxslt 1.1.35
                Building against libxml2/libxslt in the following directory: /lib
                running install
                running bdist_egg
                running egg_info
                writing src/lxml.egg-info/PKG-INFO
                writing dependency_links to src/lxml.egg-info/dependency_links.txt
                writing requirements to src/lxml.egg-info/requires.txt
                writing top-level names to src/lxml.egg-info/top_level.txt
                reading manifest file 'src/lxml.egg-info/SOURCES.txt'
                reading manifest template 'MANIFEST.in'
                writing manifest file 'src/lxml.egg-info/SOURCES.txt'
                installing library code to build/bdist.linux-i686/egg
                running install_lib
                running build_py
                creating build
                creating build/lib.linux-i686-3.9
                creating build/lib.linux-i686-3.9/lxml
                copying src/lxml/_elementpath.py -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/sax.py -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/pyclasslookup.py -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/__init__.py -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/builder.py -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/doctestcompare.py -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/usedoctest.py -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/cssselect.py -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/ElementInclude.py -> build/lib.linux-i686-3.9/lxml
                creating build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/__init__.py -> build/lib.linux-i686-3.9/lxml/includes
                creating build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/soupparser.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/defs.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/_setmixin.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/clean.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/ElementSoup.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/_diffcommand.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/html5parser.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/__init__.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/formfill.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/builder.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/_html5builder.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/usedoctest.py -> build/lib.linux-i686-3.9/lxml/html
                copying src/lxml/html/diff.py -> build/lib.linux-i686-3.9/lxml/html
                creating build/lib.linux-i686-3.9/lxml/isoschematron
                copying src/lxml/isoschematron/__init__.py -> build/lib.linux-i686-3.9/lxml/isoschematron
                copying src/lxml/etree.h -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/etree_api.h -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/lxml.etree.h -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/lxml.etree_api.h -> build/lib.linux-i686-3.9/lxml
                copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/c14n.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/__init__.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/schematron.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/tree.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/uri.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/xpath.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/xslt.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/config.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/xinclude.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/relaxng.pxd -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/lxml-version.h -> build/lib.linux-i686-3.9/lxml/includes
                copying src/lxml/includes/etree_defs.h -> build/lib.linux-i686-3.9/lxml/includes
                creating build/lib.linux-i686-3.9/lxml/isoschematron/resources
                creating build/lib.linux-i686-3.9/lxml/isoschematron/resources/rng
                copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-i686-3.9/lxml/isoschematron/resources/rng
                creating build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl
                copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl
                copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl
                creating build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
                copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
                copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
                copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
                copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
                copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
                copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-i686-3.9/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
                running build_ext
                building 'lxml.etree' extension
                creating build/temp.linux-i686-3.9
                creating build/temp.linux-i686-3.9/src
                creating build/temp.linux-i686-3.9/src/lxml
                gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fomit-frame-pointer -g -fno-semantic-interposition -fomit-frame-pointer -g -fno-semantic-interposition -fomit-frame-pointer -g -fno-semantic-interposition -DTHREAD_STACK_SIZE=0x100000 -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/usr/include/python3.9 -c src/lxml/etree.c -o build/temp.linux-i686-3.9/src/lxml/etree.o -w
                ^Cinterrupted
                iPhone-6:~/scrapy/lxml-4.5.0# apk add py3-lxml
                (1/1) Installing py3-lxml (4.6.3-r1)
                OK: 458 MiB in 111 packages
                iPhone-6:~/scrapy/lxml-4.5.0# scrapy
                Traceback (most recent call last):
                File "/usr/bin/scrapy", line 33, in 
                    sys.exit(load_entry_point('Scrapy==2.6.2', 'console_scripts', 'scrapy')())
                File "/usr/bin/scrapy", line 25, in importlib_load_entry_point
                    return next(matches).load()
                File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
                    module = import_module(match.group('module'))
                File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
                    return _bootstrap._gcd_import(name[level:], package, level)
                File "", line 1030, in _gcd_import
                File "", line 1007, in _find_and_load
                File "", line 972, in _find_and_load_unlocked
                File "", line 228, in _call_with_frames_removed
                File "", line 1030, in _gcd_import
                File "", line 1007, in _find_and_load
                File "", line 986, in _find_and_load_unlocked
                File "", line 680, in _load_unlocked
                File "", line 855, in exec_module
                File "", line 228, in _call_with_frames_removed
                File "/usr/lib/python3.9/site-packages/Scrapy-2.6.2-py3.9.egg/scrapy/__init__.py", line 12, in 
                    from scrapy.spiders import Spider
                File "/usr/lib/python3.9/site-packages/Scrapy-2.6.2-py3.9.egg/scrapy/spiders/__init__.py", line 10, in 
                    from scrapy.http import Request
                File "/usr/lib/python3.9/site-packages/Scrapy-2.6.2-py3.9.egg/scrapy/http/__init__.py", line 11, in 
                    from scrapy.http.request.form import FormRequest
                File "/usr/lib/python3.9/site-packages/Scrapy-2.6.2-py3.9.egg/scrapy/http/request/form.py", line 12, in 
                    from parsel.selector import create_root_node
                ModuleNotFoundError: No module named 'parsel'
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install parsel
                Collecting parsel
                Using cached parsel-1.6.0-py2.py3-none-any.whl (13 kB)
                Requirement already satisfied: six>=1.6.0 in /usr/lib/python3.9/site-packages (from parsel) (1.15.0)
                Collecting cssselect>=0.9
                Using cached cssselect-1.1.0-py2.py3-none-any.whl (16 kB)
                Requirement already satisfied: w3lib>=1.19.0 in /usr/lib/python3.9/site-packages (from parsel) (2.0.1)
                Requirement already satisfied: lxml in /usr/lib/python3.9/site-packages (from parsel) (4.6.3)
                Installing collected packages: cssselect, parsel
                ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
                scrapy 2.6.2 requires cryptography>=2.0, which is not installed.
                scrapy 2.6.2 requires itemadapter>=0.1.0, which is not installed.
                scrapy 2.6.2 requires itemloaders>=1.0.1, which is not installed.
                scrapy 2.6.2 requires protego>=0.1.15, which is not installed.
                scrapy 2.6.2 requires pyOpenSSL>=16.2.0, which is not installed.
                scrapy 2.6.2 requires queuelib>=1.4.2, which is not installed.
                scrapy 2.6.2 requires service_identity>=16.0.0, which is not installed.
                scrapy 2.6.2 requires tldextract, which is not installed.
                Successfully installed cssselect-1.1.0 parsel-1.6.0
                WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
                iPhone-6:~/scrapy/lxml-4.5.0# scrapy
                Traceback (most recent call last):
                File "/usr/bin/scrapy", line 33, in 
                    sys.exit(load_entry_point('Scrapy==2.6.2', 'console_scripts', 'scrapy')())
                File "/usr/bin/scrapy", line 25, in importlib_load_entry_point
                    return next(matches).load()
                File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
                    module = import_module(match.group('module'))
                File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
                    return _bootstrap._gcd_import(name[level:], package, level)
                File "", line 1030, in _gcd_import
                File "", line 1007, in _find_and_load
                File "", line 986, in _find_and_load_unlocked
                File "", line 680, in _load_unlocked
                File "", line 855, in exec_module
                File "", line 228, in _call_with_frames_removed
                File "/usr/lib/python3.9/site-packages/Scrapy-2.6.2-py3.9.egg/scrapy/cmdline.py", line 6, in 
                    import pkg_resources
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3243, in 
                    def _initialize_master_working_set():
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3226, in _call_aside
                    f(*args, **kwargs)
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
                    working_set = WorkingSet._build_master()
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 568, in _build_master
                    ws.require(__requires__)
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 886, in require
                    needed = self.resolve(parse_requirements(requirements))
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 772, in resolve
                    raise DistributionNotFound(req, requirers)
                pkg_resources.DistributionNotFound: The 'tldextract' distribution was not found and is required by Scrapy
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install tldextract
                Collecting tldextract
                Using cached tldextract-3.3.1-py3-none-any.whl (93 kB)
                Requirement already satisfied: idna in /usr/lib/python3.9/site-packages (from tldextract) (3.2)
                Collecting requests-file>=1.4
                Downloading requests_file-1.5.1-py2.py3-none-any.whl (3.7 kB)
                Collecting filelock>=3.0.8
                Downloading filelock-3.8.0-py3-none-any.whl (10 kB)
                Requirement already satisfied: requests>=2.1.0 in /usr/lib/python3.9/site-packages (from tldextract) (2.25.1)
                Requirement already satisfied: chardet<5,>=3.0.2 in /usr/lib/python3.9/site-packages (from requests>=2.1.0->tldextract) (4.0.0)
                Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3.9/site-packages (from requests>=2.1.0->tldextract) (1.26.5)
                Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3.9/site-packages (from requests>=2.1.0->tldextract) (2020.12.5)
                Requirement already satisfied: six in /usr/lib/python3.9/site-packages (from requests-file>=1.4->tldextract) (1.15.0)
                Installing collected packages: filelock, requests-file, tldextract
                ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
                scrapy 2.6.2 requires cryptography>=2.0, which is not installed.
                scrapy 2.6.2 requires itemadapter>=0.1.0, which is not installed.
                scrapy 2.6.2 requires itemloaders>=1.0.1, which is not installed.
                scrapy 2.6.2 requires protego>=0.1.15, which is not installed.
                scrapy 2.6.2 requires pyOpenSSL>=16.2.0, which is not installed.
                scrapy 2.6.2 requires queuelib>=1.4.2, which is not installed.
                scrapy 2.6.2 requires service_identity>=16.0.0, which is not installed.
                Successfully installed filelock-3.8.0 requests-file-1.5.1 tldextract-3.3.1
                WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
                iPhone-6:~/scrapy/lxml-4.5.0# scrapy
                Traceback (most recent call last):
                File "/usr/bin/scrapy", line 33, in 
                    sys.exit(load_entry_point('Scrapy==2.6.2', 'console_scripts', 'scrapy')())
                File "/usr/bin/scrapy", line 25, in importlib_load_entry_point
                    return next(matches).load()
                File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
                    module = import_module(match.group('module'))
                File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
                    return _bootstrap._gcd_import(name[level:], package, level)
                File "", line 1030, in _gcd_import
                File "", line 1007, in _find_and_load
                File "", line 986, in _find_and_load_unlocked
                File "", line 680, in _load_unlocked
                File "", line 855, in exec_module
                File "", line 228, in _call_with_frames_removed
                File "/usr/lib/python3.9/site-packages/Scrapy-2.6.2-py3.9.egg/scrapy/cmdline.py", line 6, in 
                    import pkg_resources
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3243, in 
                    def _initialize_master_working_set():
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3226, in _call_aside
                    f(*args, **kwargs)
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
                    working_set = WorkingSet._build_master()
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 568, in _build_master
                    ws.require(__requires__)
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 886, in require
                    needed = self.resolve(parse_requirements(requirements))
                File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 772, in resolve
                    raise DistributionNotFound(req, requirers)
                pkg_resources.DistributionNotFound: The 'itemadapter>=0.1.0' distribution was not found and is required by Scrapy
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install itemadapter
                Collecting itemadapter
                Using cached itemadapter-0.7.0-py3-none-any.whl (10 kB)
                Installing collected packages: itemadapter
                ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
                scrapy 2.6.2 requires cryptography>=2.0, which is not installed.
                scrapy 2.6.2 requires itemloaders>=1.0.1, which is not installed.
                scrapy 2.6.2 requires protego>=0.1.15, which is not installed.
                scrapy 2.6.2 requires pyOpenSSL>=16.2.0, which is not installed.
                scrapy 2.6.2 requires queuelib>=1.4.2, which is not installed.
                scrapy 2.6.2 requires service_identity>=16.0.0, which is not installed.
                Successfully installed itemadapter-0.7.0
                WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install  cryptography>=2.0 itemloaders>=1.0.1 protego>=0.1.15 pyOpenSSL>=16.2.0 queue
                lib>=1.4.2 service_identity>=16.0.0
                ^CERROR: Operation cancelled by user
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install  cryptography>=2.0
                ^CERROR: Operation cancelled by user
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install cryptography
                Collecting cryptography
                Using cached cryptography-37.0.4.tar.gz (585 kB)
                Installing build dependencies ... \^canceled
                ERROR: Operation cancelled by user
                iPhone-6:~/scrapy/lxml-4.5.0# apk add py3-cryptography
                (1/4) Installing py3-cparser (2.20-r1)
                (2/4) Installing py3-cffi (1.14.5-r1)
                (3/4) Installing py3-asn1crypto (1.4.0-r1)
                (4/4) Installing py3-cryptography (3.3.2-r1)
                OK: 463 MiB in 115 packages
                iPhone-6:~/scrapy/lxml-4.5.0# apk add py3-itemloaders
                ERROR: unable to select packages:
                py3-itemloaders (no such package):
                    required by: world[py3-itemloaders]
                iPhone-6:~/scrapy/lxml-4.5.0# apk add py3-protego
                ERROR: unable to select packages:
                py3-protego (no such package):
                    required by: world[py3-protego]
                iPhone-6:~/scrapy/lxml-4.5.0# apk add py3-pyOpenSSL
                ERROR: unable to select packages:
                py3-pyOpenSSL (no such package):
                    required by: world[py3-pyOpenSSL]
                iPhone-6:~/scrapy/lxml-4.5.0# apk add py3-queuelib
                ERROR: unable to select packages:
                py3-queuelib (no such package):
                    required by: world[py3-queuelib]
                iPhone-6:~/scrapy/lxml-4.5.0# apk add py3-service_identity
                (1/5) Installing py3-asn1 (0.4.8-r1)
                (2/5) Installing py3-asn1-modules (0.2.8-r1)
                (3/5) Installing py3-attrs (20.3.0-r1)
                (4/5) Installing py3-characteristic (14.3.0-r7)
                (5/5) Installing py3-service_identity (18.1.0-r4)
                OK: 466 MiB in 120 packages
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install itemloaders
                Collecting itemloaders
                Using cached itemloaders-1.0.4-py3-none-any.whl (11 kB)
                Requirement already satisfied: itemadapter>=0.1.0 in /usr/lib/python3.9/site-packages (from itemloaders) (0.7.0)
                Requirement already satisfied: parsel>=1.5.0 in /usr/lib/python3.9/site-packages (from itemloaders) (1.6.0)
                Collecting jmespath>=0.9.5
                Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
                Requirement already satisfied: w3lib>=1.17.0 in /usr/lib/python3.9/site-packages (from itemloaders) (2.0.1)
                Requirement already satisfied: cssselect>=0.9 in /usr/lib/python3.9/site-packages (from parsel>=1.5.0->itemloaders) (1.1.0)
                Requirement already satisfied: six>=1.6.0 in /usr/lib/python3.9/site-packages (from parsel>=1.5.0->itemloaders) (1.15.0)
                Requirement already satisfied: lxml in /usr/lib/python3.9/site-packages (from parsel>=1.5.0->itemloaders) (4.6.3)
                Installing collected packages: jmespath, itemloaders
                ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
                scrapy 2.6.2 requires protego>=0.1.15, which is not installed.
                scrapy 2.6.2 requires pyOpenSSL>=16.2.0, which is not installed.
                scrapy 2.6.2 requires queuelib>=1.4.2, which is not installed.
                Successfully installed itemloaders-1.0.4 jmespath-1.0.1
                WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install protego
                Collecting protego
                Using cached Protego-0.2.1-py2.py3-none-any.whl (8.2 kB)
                Requirement already satisfied: six in /usr/lib/python3.9/site-packages (from protego) (1.15.0)
                Installing collected packages: protego
                ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
                scrapy 2.6.2 requires pyOpenSSL>=16.2.0, which is not installed.
                scrapy 2.6.2 requires queuelib>=1.4.2, which is not installed.
                Successfully installed protego-0.2.1
                WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install pyOpenSSL
                Collecting pyOpenSSL
                Using cached pyOpenSSL-22.0.0-py2.py3-none-any.whl (55 kB)
                Collecting cryptography>=35.0
                Using cached cryptography-37.0.4.tar.gz (585 kB)
                Installing build dependencies ... done
                Getting requirements to build wheel ... done
                Preparing metadata (pyproject.toml) ... done
                Requirement already satisfied: cffi>=1.12 in /usr/lib/python3.9/site-packages (from cryptography>=35.0->pyOpenSSL) (1.14.5)
                Requirement already satisfied: pycparser in /usr/lib/python3.9/site-packages (from cffi>=1.12->cryptography>=35.0->pyOpenSSL) (2.20)
                Building wheels for collected packages: cryptography
                Building wheel for cryptography (pyproject.toml) ... error
                error: subprocess-exited-with-error

                × Building wheel for cryptography (pyproject.toml) did not run successfully.
                │ exit code: 1
                ╰─> [194 lines of output]
                    running bdist_wheel
                    running build
                    running build_py
                    creating build
                    creating build/lib.linux-i686-cpython-39
                    creating build/lib.linux-i686-cpython-39/cryptography
                    copying src/cryptography/__init__.py -> build/lib.linux-i686-cpython-39/cryptography
                    copying src/cryptography/utils.py -> build/lib.linux-i686-cpython-39/cryptography
                    copying src/cryptography/__about__.py -> build/lib.linux-i686-cpython-39/cryptography
                    copying src/cryptography/exceptions.py -> build/lib.linux-i686-cpython-39/cryptography
                    copying src/cryptography/fernet.py -> build/lib.linux-i686-cpython-39/cryptography
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat
                    copying src/cryptography/hazmat/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat
                    copying src/cryptography/hazmat/_oid.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat
                    creating build/lib.linux-i686-cpython-39/cryptography/x509
                    copying src/cryptography/x509/oid.py -> build/lib.linux-i686-cpython-39/cryptography/x509
                    copying src/cryptography/x509/ocsp.py -> build/lib.linux-i686-cpython-39/cryptography/x509
                    copying src/cryptography/x509/general_name.py -> build/lib.linux-i686-cpython-39/cryptography/x509
                    copying src/cryptography/x509/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/x509
                    copying src/cryptography/x509/extensions.py -> build/lib.linux-i686-cpython-39/cryptography/x509
                    copying src/cryptography/x509/name.py -> build/lib.linux-i686-cpython-39/cryptography/x509
                    copying src/cryptography/x509/base.py -> build/lib.linux-i686-cpython-39/cryptography/x509
                    copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-i686-cpython-39/cryptography/x509
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat/backends
                    copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat/bindings
                    copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/bindings
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/backends/openssl
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/kdf
                    copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/kdf
                    copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/kdf
                    copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/kdf
                    copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/kdf
                    copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/kdf
                    copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/kdf
                    copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/kdf
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/twofactor
                    copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/twofactor
                    copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/twofactor
                    copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/twofactor
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/serialization
                    copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/serialization
                    copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/serialization
                    copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/serialization
                    copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/serialization
                    copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/serialization
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/ciphers
                    copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/ciphers
                    copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/ciphers
                    copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/ciphers
                    copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/ciphers
                    copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/ciphers
                    creating build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/asymmetric
                    copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/asymmetric
                    copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/asymmetric
                    copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/asymmetric
                    copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/asymmetric
                    copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/asymmetric
                    copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/asymmetric
                    copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/asymmetric
                    copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitives/asymmetric
                    copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-i686-cpython-39/cryptography/hazmat/primitivesERROR: Operation cancelled by user
                iPhone-6:~/scrapy/lxml-4.5.0# ^C
                iPhone-6:~/scrapy/lxml-4.5.0# pip3 install queuelib
                Collecting queuelib
                Using cached queuelib-1.6.2-py2.py3-none-any.whl (13 kB)
                Installing collected packages: queuelib
                ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
                scrapy 2.6.2 requires pyOpenSSL>=16.2.0, which is not installed.
                Successfully installed queuelib-1.6.2
                WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
                iPhone-6:~/scrapy/lxml-4.5.0# apk add py3-openssl
                (1/1) Installing py3-openssl (20.0.1-r1)
                OK: 467 MiB in 121 packages
                iPhone-6:~/scrapy/lxml-4.5.0# scrapy
                Scrapy 2.6.2 - no active project

                Usage:
                scrapy  [options] [args]

                Available commands:
                bench         Run quick benchmark test
                commands
                fetch         Fetch a URL using the Scrapy downloader
                genspider     Generate new spider using pre-defined templates
                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  -h" to see more info about a command

你可能感兴趣的:(WebServer,scrapy,iphone,ios)