whyour / qinglong

支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
https://qinglong.online
Apache License 2.0
15.88k stars 2.94k forks source link

2.14.9安装lxml和aiohttp失败 #1688

Closed bigmangos closed 1 year ago

bigmangos commented 1 year ago

Qinglong version

2.14.9

Steps to reproduce

已经安装 image

[root@n1:~]# docker exec -ti qinglong bash
root@qinglong:/ql $ pip install lxml
Looking in indexes: https://pypi.doubanio.com/simple/
Collecting lxml
  Downloading https://pypi.doubanio.com/packages/70/bb/7a2c7b4f8f434aa1ee801704bf08f1e53d7b5feba3d5313ab17003477808/lxml-4.9.1.tar.gz (3.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 538.1 kB/s eta 0:00:00
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [3 lines of output]
      Building lxml version 4.9.1.
      Building without Cython.
      Error: Please make sure the libxml2 and libxslt development packages are installed.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

root@qinglong:/ql $ pip install aiohttp
Looking in indexes: https://pypi.doubanio.com/simple/
Collecting aiohttp
  Downloading https://pypi.doubanio.com/packages/0c/c1/914de60be1acef9b24d1fe8691b7665b86e80695ff71d4de14f3830c546d/aiohttp-3.8.3-cp311-cp311-musllinux_1_1_aarch64.whl (1.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 638.7 kB/s eta 0:00:00
Collecting attrs>=17.3.0
  Using cached https://pypi.doubanio.com/packages/f2/bc/d817287d1aa01878af07c19505fafd1165cd6a119e9d0821ca1d1c20312d/attrs-22.1.0-py2.py3-none-any.whl (58 kB)
Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.11/site-packages (from aiohttp) (2.1.1)
Collecting multidict<7.0,>=4.5
  Downloading https://pypi.doubanio.com/packages/fa/a7/71c253cdb8a1528802bac7503bf82fe674367e4055b09c28846fdfa4ab90/multidict-6.0.2.tar.gz (50 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.3/50.3 kB 972.8 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting async-timeout<5.0,>=4.0.0a3
  Using cached https://pypi.doubanio.com/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting yarl<2.0,>=1.0
  Downloading https://pypi.doubanio.com/packages/d6/04/255c68974ec47fa754564c4abba8f61f9ed68b869bbbb854198d6259c4f7/yarl-1.8.1.tar.gz (172 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 172.3/172.3 kB 181.8 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting frozenlist>=1.1.1
  Downloading https://pypi.doubanio.com/packages/8a/95/229aacfe85daa28e2792481a98c336bc30d3729533e6a44db537880aca21/frozenlist-1.3.1.tar.gz (66 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.4/66.4 kB 1.2 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting aiosignal>=1.1.2
  Using cached https://pypi.doubanio.com/packages/3b/87/fe94898f2d44a93a35d5aa74671ed28094d80753a1113d68b799fab6dc22/aiosignal-1.2.0-py3-none-any.whl (8.2 kB)
Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.11/site-packages (from yarl<2.0,>=1.0->aiohttp) (3.4)
Building wheels for collected packages: frozenlist, multidict, yarl
  Building wheel for frozenlist (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for frozenlist (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [36 lines of output]
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-311
      creating build/lib.linux-aarch64-cpython-311/frozenlist
      copying frozenlist/__init__.py -> build/lib.linux-aarch64-cpython-311/frozenlist
      running egg_info
      writing frozenlist.egg-info/PKG-INFO
      writing dependency_links to frozenlist.egg-info/dependency_links.txt
      writing top-level names to frozenlist.egg-info/top_level.txt
      reading manifest file 'frozenlist.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.pyd' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '*.lib' found anywhere in distribution
      warning: no previously-included files matching '*.dll' found anywhere in distribution
      warning: no previously-included files matching '*.a' found anywhere in distribution
      warning: no previously-included files matching '*.obj' found anywhere in distribution
      warning: no previously-included files found matching 'frozenlist/*.html'
      no previously-included directories found matching 'docs/_build'
      adding license file 'LICENSE'
      writing manifest file 'frozenlist.egg-info/SOURCES.txt'
      copying frozenlist/__init__.pyi -> build/lib.linux-aarch64-cpython-311/frozenlist
      copying frozenlist/_frozenlist.pyx -> build/lib.linux-aarch64-cpython-311/frozenlist
      copying frozenlist/py.typed -> build/lib.linux-aarch64-cpython-311/frozenlist
      running build_ext
      building 'frozenlist._frozenlist' extension
      creating build/temp.linux-aarch64-cpython-311
      creating build/temp.linux-aarch64-cpython-311/frozenlist
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.11 -c frozenlist/_frozenlist.c -o build/temp.linux-aarch64-cpython-311/frozenlist/_frozenlist.o
      error: command 'gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for frozenlist
  Building wheel for multidict (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for multidict (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [62 lines of output]
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-311
      creating build/lib.linux-aarch64-cpython-311/multidict
      copying multidict/__init__.py -> build/lib.linux-aarch64-cpython-311/multidict
      copying multidict/_multidict_py.py -> build/lib.linux-aarch64-cpython-311/multidict
      copying multidict/_abc.py -> build/lib.linux-aarch64-cpython-311/multidict
      copying multidict/_compat.py -> build/lib.linux-aarch64-cpython-311/multidict
      copying multidict/_multidict_base.py -> build/lib.linux-aarch64-cpython-311/multidict
      running egg_info
      writing multidict.egg-info/PKG-INFO
      writing dependency_links to multidict.egg-info/dependency_links.txt
      writing top-level names to multidict.egg-info/top_level.txt
      reading manifest file 'multidict.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files found matching 'multidict/_multidict.html'
      warning: no previously-included files found matching 'multidict/*.so'
      warning: no previously-included files found matching 'multidict/*.pyd'
      warning: no previously-included files found matching 'multidict/*.pyd'
      no previously-included directories found matching 'docs/_build'
      adding license file 'LICENSE'
      writing manifest file 'multidict.egg-info/SOURCES.txt'
      /tmp/pip-build-env-8iqh_2yh/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'multidict._multilib' as data is deprecated, please list it in `packages`.
          !!

          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'multidict._multilib' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'multidict._multilib' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'multidict._multilib' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.

      !!

        check.warn(importable)
      copying multidict/__init__.pyi -> build/lib.linux-aarch64-cpython-311/multidict
      copying multidict/py.typed -> build/lib.linux-aarch64-cpython-311/multidict
      running build_ext
      building 'multidict._multidict' extension
      creating build/temp.linux-aarch64-cpython-311
      creating build/temp.linux-aarch64-cpython-311/multidict
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.11 -c multidict/_multidict.c -o build/temp.linux-aarch64-cpython-311/multidict/_multidict.o -O2 -std=c99 -Wall -Wsign-compare -Wconversion -fno-strict-aliasing -pedantic
      error: command 'gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for multidict
  Building wheel for yarl (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for yarl (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [40 lines of output]
      /tmp/pip-build-env-9lzd774k/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
        warnings.warn(msg, warning_class)
      **********************
      * Accelerated build *
      **********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-311
      creating build/lib.linux-aarch64-cpython-311/yarl
      copying yarl/_url.py -> build/lib.linux-aarch64-cpython-311/yarl
      copying yarl/__init__.py -> build/lib.linux-aarch64-cpython-311/yarl
      copying yarl/_quoting_py.py -> build/lib.linux-aarch64-cpython-311/yarl
      copying yarl/_quoting.py -> build/lib.linux-aarch64-cpython-311/yarl
      running egg_info
      writing yarl.egg-info/PKG-INFO
      writing dependency_links to yarl.egg-info/dependency_links.txt
      writing requirements to yarl.egg-info/requires.txt
      writing top-level names to yarl.egg-info/top_level.txt
      reading manifest file 'yarl.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.cache' found anywhere in distribution
      warning: no previously-included files found matching 'yarl/*.html'
      warning: no previously-included files found matching 'yarl/*.so'
      warning: no previously-included files found matching 'yarl/*.pyd'
      no previously-included directories found matching 'docs/_build'
      adding license file 'LICENSE'
      writing manifest file 'yarl.egg-info/SOURCES.txt'
      copying yarl/__init__.pyi -> build/lib.linux-aarch64-cpython-311/yarl
      copying yarl/_quoting_c.pyi -> build/lib.linux-aarch64-cpython-311/yarl
      copying yarl/_quoting_c.pyx -> build/lib.linux-aarch64-cpython-311/yarl
      copying yarl/py.typed -> build/lib.linux-aarch64-cpython-311/yarl
      running build_ext
      building 'yarl._quoting_c' extension
      creating build/temp.linux-aarch64-cpython-311
      creating build/temp.linux-aarch64-cpython-311/yarl
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.11 -c yarl/_quoting_c.c -o build/temp.linux-aarch64-cpython-311/yarl/_quoting_c.o
      error: command 'gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for yarl
Failed to build frozenlist multidict yarl
ERROR: Could not build wheels for frozenlist, multidict, yarl, which is required to install pyproject.toml-based projects

What is expected?

安装成功

What is actually happening?

报错,见 Steps to reproduce

System Info

root@qinglong:/ql $ npx envinfo --system --binaries --browsers
Need to install the following packages:
  envinfo
Ok to proceed? (y) y

  System:
    OS: Linux 4.9 Alpine Linux
    CPU: (4) arm64 Cortex-A53
    Memory: 1.14 GB / 1.94 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 16.17.1 - /usr/bin/node
    npm: 8.10.0 - /usr/bin/npm

Any additional comments?

No response

fatalyang commented 1 year ago

同样装不了lxml

whyour commented 1 year ago

alpine-sdk autoconf automake libtool gcc

linux 里把这几个依赖装上

loa123 commented 1 year ago

alpine-sdk autoconf automake libtool gcc

linux 里把这几个依赖装上

loa123 依赖管理 NodeJs Python3 Linux

序号 名称 状态 备注 创建时间 操作

1 gcc 安装失败 2022/11/1120:28:46

2 libtool 安装失败 2022/11/1120:28:37

3 automake
安装失败 2022/11/1120:28:28

4 autoconf
安装中 2022/11/1120:28:20

5 alpine-sdk
安装失败 2022/11/1120:28:05

日志 - autoconf 开始安装依赖 autoconf,开始时间 2022-11-11 20:32:20

fetch https://mirrors.aliyun.com/alpine/v3.16/main/x86_64/APKINDEX.tar.gz ERROR: https://mirrors.aliyun.com/alpine/v3.16/main: temporary error (try again later) fetch https://mirrors.aliyun.com/alpine/v3.16/community/x86_64/APKINDEX.tar.gz ERROR: https://mirrors.aliyun.com/alpine/v3.16/community: temporary error (try again later) (1/25) Installing fakeroot (1.25.3-r3) (2/25) Installing attr (2.5.1-r1) (3/25) Installing tar (1.34-r0) (4/25) Installing pkgconf (1.8.0-r1) (5/25) Installing patch (2.7.6-r7) (6/25) Installing lzip (1.23-r0) (7/25) Installing abuild (3.9.0-r0) (8/25) Installing binutils (2.38-r3) (9/25) Installing libmagic (5.41-r0) (10/25) Installing file (5.41-r0) (11/25) Installing libgomp (11.2.1_git20220219-r2) (12/25) Installing libatomic (11.2.1_git20220219-r2) (13/25) Installing isl22 (0.22-r0) (14/25) Installing mpfr4 (4.1.0-r0) (15/25) Installing mpc1 (1.2.1-r0) (16/25) Installing gcc (11.2.1_git20220219-r2) (17/25) Installing musl-dev (1.2.3-r1) (18/25) Installing libc-dev (0.7.2-r3) (19/25) Installing g++ (11.2.1_git20220219-r2) (20/25) Installing make (4.3-r0) (21/25) Installing fortify-headers (1.1-r1) (22/25) Installing build-base (0.5-r3) ERROR: build-base-0.5-r3: temporary error (try again later) (24/25) Installing m4 (1.4.19-r1) (25/25) Installing autoconf (2.71-r0) ERROR: autoconf-2.71-r0: temporary error (try again later) 25 errors; 133 MiB in 80 packages

依赖安装失败,结束时间 2022-11-11 20:34:36,耗时 135 秒

bigmangos commented 1 year ago

alpine-sdk autoconf automake libtool gcc

linux 里把这几个依赖装上

aiohttp 安装成功了,lxml依然失败,报错如下

Looking in indexes: https://pypi.doubanio.com/simple/
Collecting lxml
  Using cached https://pypi.doubanio.com/packages/70/bb/7a2c7b4f8f434aa1ee801704bf08f1e53d7b5feba3d5313ab17003477808/lxml-4.9.1.tar.gz (3.4 MB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.