docker-library / python

Docker Official Image packaging for Python

Home Page:https://www.python.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pip install error for 3.12

brmzkw opened this issue · comments

I started to have build errors since the release of python 3.12, I'm not sure to what's the issue:

> docker run --rm -ti python:3.11 pip install uwsgi
[ok]
> docker run --rm -ti python:3.12 pip install uwsgi
Collecting uwsgi
  Downloading uwsgi-2.0.22.tar.gz (809 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 809.7/809.7 kB 6.2 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: uwsgi
  Building wheel for uwsgi (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [296 lines of output]
      /usr/local/lib/python3.12/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'descriptions'
        warnings.warn(msg)
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib
      copying uwsgidecorators.py -> build/lib
      /usr/local/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
      !!

              ********************************************************************************
              Please avoid running ``setup.py`` directly.
              Instead, use pypa/build, pypa/installer or other
              standards-based tools.

              See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
              ********************************************************************************

      !!
        self.initialize_options()
      installing to build/bdist.linux-aarch64/wheel
      running install
      using profile: buildconf/default.ini
      detected include path: ['/usr/lib/gcc/aarch64-linux-gnu/12/include', '/usr/local/include', '/usr/include/aarch64-linux-gnu', '/usr/include']
      Patching "bin_name" to properly install_scripts dir
      detected CPU cores: 5
      configured CFLAGS: -O2 -I. -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -DUWSGI_HAS_IFADDRS -DUWSGI_ZLIB -DUWSGI_LOCK_USE_MUTEX -DUWSGI_EVENT_USE_EPOLL -DUWSGI_EVENT_TIMER_USE_TIMERFD -DUWSGI_EVENT_FILEMONITOR_USE_INOTIFY -DUWSGI_UUID -DUWSGI_VERSION="\"2.0.22\"" -DUWSGI_VERSION_BASE="2" -DUWSGI_VERSION_MAJOR="0" -DUWSGI_VERSION_MINOR="22" -DUWSGI_VERSION_REVISION="0" -DUWSGI_VERSION_CUSTOM="\"\"" -DUWSGI_YAML -DUWSGI_SSL -I/usr/include/libxml2 -DUWSGI_XML -DUWSGI_XML_LIBXML2 -DUWSGI_PLUGIN_DIR="\".\"" -DUWSGI_DECLARE_EMBEDDED_PLUGINS="UDEP(python);UDEP(gevent);UDEP(ping);UDEP(cache);UDEP(nagios);UDEP(rrdtool);UDEP(carbon);UDEP(rpc);UDEP(corerouter);UDEP(fastrouter);UDEP(http);UDEP(ugreen);UDEP(signal);UDEP(syslog);UDEP(rsyslog);UDEP(logsocket);UDEP(router_uwsgi);UDEP(router_redirect);UDEP(router_basicauth);UDEP(zergpool);UDEP(redislog);UDEP(mongodblog);UDEP(router_rewrite);UDEP(router_http);UDEP(logfile);UDEP(router_cache);UDEP(rawrouter);UDEP(router_static);UDEP(sslrouter);UDEP(spooler);UDEP(cheaper_busyness);UDEP(symcall);UDEP(transformation_tofile);UDEP(transformation_gzip);UDEP(transformation_chunked);UDEP(transformation_offload);UDEP(router_memcached);UDEP(router_redis);UDEP(router_hash);UDEP(router_expires);UDEP(router_metrics);UDEP(transformation_template);UDEP(stats_pusher_socket);" -DUWSGI_LOAD_EMBEDDED_PLUGINS="ULEP(python);ULEP(gevent);ULEP(ping);ULEP(cache);ULEP(nagios);ULEP(rrdtool);ULEP(carbon);ULEP(rpc);ULEP(corerouter);ULEP(fastrouter);ULEP(http);ULEP(ugreen);ULEP(signal);ULEP(syslog);ULEP(rsyslog);ULEP(logsocket);ULEP(router_uwsgi);ULEP(router_redirect);ULEP(router_basicauth);ULEP(zergpool);ULEP(redislog);ULEP(mongodblog);ULEP(router_rewrite);ULEP(router_http);ULEP(logfile);ULEP(router_cache);ULEP(rawrouter);ULEP(router_static);ULEP(sslrouter);ULEP(spooler);ULEP(cheaper_busyness);ULEP(symcall);ULEP(transformation_tofile);ULEP(transformation_gzip);ULEP(transformation_chunked);ULEP(transformation_offload);ULEP(router_memcached);ULEP(router_redis);ULEP(router_hash);ULEP(router_expires);ULEP(router_metrics);ULEP(transformation_template);ULEP(stats_pusher_socket);"
      *** uWSGI compiling server core ***
      [thread 1][gcc] core/utils.o
      [thread 0][gcc] core/protocol.o
      [thread 2][gcc] core/socket.o
      [thread 4][gcc] core/logging.o
      [thread 3][gcc] core/master.o
      [thread 0][gcc] core/master_utils.o
      [thread 3][gcc] core/emperor.o
      [thread 2][gcc] core/notify.o
      [thread 4][gcc] core/mule.o
      [thread 2][gcc] core/subscription.o
      [thread 4][gcc] core/stats.o
      [thread 0][gcc] core/sendfile.o
      [thread 2][gcc] core/async.o
      [thread 1][gcc] core/master_checks.o
      [thread 0][gcc] core/fifo.o
      [thread 3][gcc] core/offload.o
      [thread 4][gcc] core/io.o
      [thread 0][gcc] core/static.o
      [thread 2][gcc] core/websockets.o
      [thread 1][gcc] core/spooler.o
      [thread 3][gcc] core/snmp.o
      [thread 0][gcc] core/exceptions.o
      [thread 4][gcc] core/config.o
      [thread 2][gcc] core/setup_utils.o
      [thread 1][gcc] core/clock.o
      [thread 3][gcc] core/init.o
      [thread 2][gcc] core/buffer.o
      [thread 1][gcc] core/reader.o
      [thread 0][gcc] core/writer.o
      [thread 3][gcc] core/alarm.o
      [thread 4][gcc] core/cron.o
      [thread 2][gcc] core/hooks.o
      [thread 1][gcc] core/plugins.o
      [thread 3][gcc] core/lock.o
      [thread 0][gcc] core/cache.o
      [thread 4][gcc] core/daemons.o
      core/lock.c: In function ‘uwsgi_lock_fast_init’:
      core/lock.c:114:17: warning: ‘pthread_mutexattr_setrobust_np’ is deprecated: pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust [-Wdeprecated-declarations]
        114 |                 if (pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST)) {
            |                 ^~
      In file included from /usr/include/features.h:489,
                       from /usr/include/aarch64-linux-gnu/bits/libc-header-start.h:33,
                       from /usr/include/stdio.h:27,
                       from ./uwsgi.h:165,
                       from core/lock.c:1:
      /usr/include/pthread.h:951:12: note: declared here
        951 | extern int __REDIRECT_NTH (pthread_mutexattr_setrobust_np,
            |            ^~~~~~~~~~~~~~
      core/lock.c: In function ‘uwsgi_lock_fast’:
      core/lock.c:176:17: warning: ‘pthread_mutex_consistent_np’ is deprecated: pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent [-Wdeprecated-declarations]
        176 |                 pthread_mutex_consistent((pthread_mutex_t *) uli->lock_ptr);
            |                 ^~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/pthread.h:859:12: note: declared here
        859 | extern int __REDIRECT_NTH (pthread_mutex_consistent_np, (pthread_mutex_t *),
            |            ^~~~~~~~~~~~~~
      [thread 1][gcc] core/errors.o
      [thread 2][gcc] core/hash.o
      [thread 3][gcc] core/master_events.o
      [thread 4][gcc] core/chunked.o
      [thread 1][gcc] core/queue.o
      [thread 2][gcc] core/event.o
      [thread 3][gcc] core/signal.o
      [thread 4][gcc] core/strings.o
      [thread 1][gcc] core/progress.o
      [thread 0][gcc] core/timebomb.o
      [thread 2][gcc] core/ini.o
      [thread 1][gcc] core/fsmon.o
      [thread 4][gcc] core/mount.o
      [thread 3][gcc] core/metrics.o
      [thread 0][gcc] core/plugins_builder.o
      [thread 2][gcc] core/sharedarea.o
      [thread 1][gcc] core/rpc.o
      [thread 4][gcc] core/gateway.o
      [thread 0][gcc] core/loop.o
      [thread 1][gcc] core/cookie.o
      [thread 2][gcc] core/querystring.o
      [thread 4][gcc] core/rb_timers.o
      [thread 0][gcc] core/transformations.o
      [thread 3][gcc] core/uwsgi.o
      [thread 2][gcc] proto/base.o
      [thread 1][gcc] proto/uwsgi.o
      [thread 0][gcc] proto/http.o
      [thread 4][gcc] proto/fastcgi.o
      [thread 1][gcc] proto/scgi.o
      [thread 2][gcc] proto/puwsgi.o
      [thread 4][gcc] lib/linux_ns.o
      [thread 1][gcc] core/zlib.o
      [thread 0][gcc] core/yaml.o
      [thread 2][gcc] core/ssl.o
      [thread 4][gcc] core/legion.o
      [thread 1][gcc] core/xmlconf.o
      core/ssl.c: In function ‘uwsgi_ssl_new_server_context’:
      core/ssl.c:268:17: warning: ‘PEM_read_bio_DHparams’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        268 |                 DH *dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
            |                 ^~
      In file included from /usr/include/openssl/ssl.h:36,
                       from ./uwsgi.h:357,
                       from core/ssl.c:1:
      /usr/include/openssl/pem.h:469:1: note: declared here
        469 | DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH)
            | ^~~~~~~~~~~~~~~~~~~
      core/ssl.c:273:25: warning: ‘DH_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        273 |                         DH_free(dh);
            |                         ^~~~~~~
      In file included from /usr/include/openssl/dsa.h:51,
                       from /usr/include/openssl/x509.h:37,
                       from /usr/include/openssl/ssl.h:31:
      /usr/include/openssl/dh.h:200:28: note: declared here
        200 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
            |                            ^~~~~~~
      core/ssl.c:279:9: warning: ‘EC_KEY_new_by_curve_name’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        279 |         EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
            |         ^~~~~~
      In file included from /usr/include/openssl/x509.h:33:
      /usr/include/openssl/ec.h:998:31: note: declared here
        998 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
            |                               ^~~~~~~~~~~~~~~~~~~~~~~~
      core/ssl.c:283:17: warning: ‘EC_KEY_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        283 |                 EC_KEY_free(ecdh);
            |                 ^~~~~~~~~~~
      /usr/include/openssl/ec.h:1003:28: note: declared here
       1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
            |                            ^~~~~~~~~~~
      core/ssl.c: In function ‘uwsgi_sha1’:
      core/ssl.c:563:9: warning: ‘SHA1_Init’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        563 |         SHA1_Init(&sha);
            |         ^~~~~~~~~
      In file included from /usr/include/openssl/x509.h:41:
      /usr/include/openssl/sha.h:49:27: note: declared here
         49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
            |                           ^~~~~~~~~
      core/ssl.c:564:9: warning: ‘SHA1_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        564 |         SHA1_Update(&sha, src, len);
            |         ^~~~~~~~~~~
      /usr/include/openssl/sha.h:50:27: note: declared here
         50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
            |                           ^~~~~~~~~~~
      core/ssl.c:565:9: warning: ‘SHA1_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        565 |         SHA1_Final((unsigned char *)dst, &sha);
            |         ^~~~~~~~~~
      /usr/include/openssl/sha.h:51:27: note: declared here
         51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
            |                           ^~~~~~~~~~
      core/ssl.c: In function ‘uwsgi_md5’:
      core/ssl.c:571:9: warning: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        571 |         MD5_Init(&md5);
            |         ^~~~~~~~
      In file included from core/ssl.c:4:
      /usr/include/openssl/md5.h:49:27: note: declared here
         49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
            |                           ^~~~~~~~
      core/ssl.c:572:9: warning: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        572 |         MD5_Update(&md5, src, len);
            |         ^~~~~~~~~~
      /usr/include/openssl/md5.h:50:27: note: declared here
         50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
            |                           ^~~~~~~~~~
      core/ssl.c:573:9: warning: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        573 |         MD5_Final((unsigned char *)dst, &md5);
            |         ^~~~~~~~~
      /usr/include/openssl/md5.h:51:27: note: declared here
         51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
            |                           ^~~~~~~~~
      core/ssl.c: In function ‘uwsgi_sha1_2n’:
      core/ssl.c:579:9: warning: ‘SHA1_Init’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        579 |         SHA1_Init(&sha);
            |         ^~~~~~~~~
      /usr/include/openssl/sha.h:49:27: note: declared here
         49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
            |                           ^~~~~~~~~
      core/ssl.c:580:9: warning: ‘SHA1_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        580 |         SHA1_Update(&sha, s1, len1);
            |         ^~~~~~~~~~~
      /usr/include/openssl/sha.h:50:27: note: declared here
         50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
            |                           ^~~~~~~~~~~
      core/ssl.c:581:9: warning: ‘SHA1_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        581 |         SHA1_Update(&sha, s2, len2);
            |         ^~~~~~~~~~~
      /usr/include/openssl/sha.h:50:27: note: declared here
         50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
            |                           ^~~~~~~~~~~
      core/ssl.c:582:9: warning: ‘SHA1_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
        582 |         SHA1_Final((unsigned char *)dst, &sha);
            |         ^~~~~~~~~~
      /usr/include/openssl/sha.h:51:27: note: declared here
         51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
            |                           ^~~~~~~~~~
      [thread 0][gcc] core/dot_h.o
      [thread 0][gcc] core/config_py.o
      *** uWSGI compiling embedded plugins ***
      [thread 0][gcc] plugins/python/python_plugin.o
      [thread 1][gcc] plugins/python/pyutils.o
      [thread 2][gcc] plugins/python/pyloader.o
      plugins/python/python_plugin.c:138:9: warning: ‘Py_NoSiteFlag’ is deprecated [-Wdeprecated-declarations]
        138 |         {"no-site", no_argument, 0, "do not import site module", uwsgi_opt_true, &Py_NoSiteFlag, 0},
            |         ^
      In file included from /usr/local/include/python3.12/Python.h:48,
                       from plugins/python/uwsgi_python.h:4,
                       from plugins/python/python_plugin.c:1:
      /usr/local/include/python3.12/cpython/pydebug.h:14:37: note: declared here
         14 | Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_NoSiteFlag;
            |                                     ^~~~~~~~~~~~~
      plugins/python/python_plugin.c: In function ‘uwsgi_python_init’:
      plugins/python/python_plugin.c:239:17: warning: ‘Py_SetPythonHome’ is deprecated [-Wdeprecated-declarations]
        239 |                 Py_SetPythonHome(wpyhome);
            |                 ^~~~~~~~~~~~~~~~
      In file included from /usr/local/include/python3.12/Python.h:94:
      /usr/local/include/python3.12/pylifecycle.h:40:38: note: declared here
         40 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *);
            |                                      ^~~~~~~~~~~~~~~~
      plugins/python/python_plugin.c:263:9: warning: ‘Py_SetProgramName’ is deprecated [-Wdeprecated-declarations]
        263 |         Py_SetProgramName(pname);
            |         ^~~~~~~~~~~~~~~~~
      /usr/local/include/python3.12/pylifecycle.h:37:38: note: declared here
         37 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetProgramName(const wchar_t *);
            |                                      ^~~~~~~~~~~~~~~~~
      plugins/python/python_plugin.c:269:9: warning: ‘Py_OptimizeFlag’ is deprecated [-Wdeprecated-declarations]
        269 |         Py_OptimizeFlag = up.optimize;
            |         ^~~~~~~~~~~~~~~
      /usr/local/include/python3.12/cpython/pydebug.h:13:37: note: declared here
         13 | Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_OptimizeFlag;
            |                                     ^~~~~~~~~~~~~~~
      plugins/python/python_plugin.c: In function ‘uwsgi_python_pre_uwsgi_fork’:
      plugins/python/python_plugin.c:1327:17: error: too few arguments to function ‘_PyImport_AcquireLock’
       1327 |                 _PyImport_AcquireLock();
            |                 ^~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/local/include/python3.12/import.h:91,
                       from /usr/local/include/python3.12/Python.h:99:
      /usr/local/include/python3.12/cpython/import.h:13:18: note: declared here
         13 | PyAPI_FUNC(void) _PyImport_AcquireLock(PyInterpreterState *interp);
            |                  ^~~~~~~~~~~~~~~~~~~~~
      plugins/python/python_plugin.c: In function ‘uwsgi_python_post_uwsgi_fork’:
      plugins/python/python_plugin.c:1339:25: error: too few arguments to function ‘_PyImport_ReleaseLock’
       1339 |                         _PyImport_ReleaseLock();
            |                         ^~~~~~~~~~~~~~~~~~~~~
      /usr/local/include/python3.12/cpython/import.h:14:17: note: declared here
         14 | PyAPI_FUNC(int) _PyImport_ReleaseLock(PyInterpreterState *interp);
            |                 ^~~~~~~~~~~~~~~~~~~~~
      plugins/python/python_plugin.c: In function ‘uwsgi_python_suspend’:
      plugins/python/python_plugin.c:1596:78: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
       1596 |                 up.current_recursion_remaining[wsgi_req->async_id] = tstate->recursion_remaining;
            |                                                                              ^~~~~~~~~~~~~~~~~~~
            |                                                                              c_recursion_remaining
      plugins/python/python_plugin.c:1605:63: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
       1605 |                 up.current_main_recursion_remaining = tstate->recursion_remaining;
            |                                                               ^~~~~~~~~~~~~~~~~~~
            |                                                               c_recursion_remaining
      plugins/python/python_plugin.c: In function ‘uwsgi_python_resume’:
      plugins/python/python_plugin.c:1839:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
       1839 |                 tstate->recursion_remaining = up.current_recursion_remaining[wsgi_req->async_id];
            |                         ^~~~~~~~~~~~~~~~~~~
            |                         c_recursion_remaining
      plugins/python/python_plugin.c:1848:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
       1848 |                 tstate->recursion_remaining = up.current_main_recursion_remaining;
            |                         ^~~~~~~~~~~~~~~~~~~
            |                         c_recursion_remaining
      plugins/python/pyutils.c: In function ‘init_pyargv’:
      plugins/python/pyutils.c:391:9: warning: ‘PySys_SetArgv’ is deprecated [-Wdeprecated-declarations]
        391 |         PySys_SetArgv(up.argc, up.py_argv);
            |         ^~~~~~~~~~~~~
      In file included from /usr/local/include/python3.12/Python.h:96,
                       from plugins/python/uwsgi_python.h:4,
                       from plugins/python/pyutils.c:1:
      /usr/local/include/python3.12/sysmodule.h:13:38: note: declared here
         13 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetArgv(int, wchar_t **);
            |                                      ^~~~~~~~~~~~~
      [end of output]

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

Why do you consider that this has anything with that Docker image (nor uwsgi / Python version)? It seems that uwsgi does not run tests on Python 3.12 ( https://github.com/unbit/uwsgi/blob/master/.github/workflows/test.yml#L15 ), so it looks like they are not compatible with Python 3.12. Project is maintenance ( https://github.com/unbit/uwsgi/tree/master#readme ), so you should rather migrate to something else.

I'm very sorry, you're right. I believed I had an issue installing lxml. Since more than one package was affected, I suspected the Docker image. I apparently had an hallucination, because lxml can be installed fine.

Thank you for your reply!