jupyter_server icon indicating copy to clipboard operation
jupyter_server copied to clipboard

Try python 3.11 on ubuntu

Open blink1073 opened this issue 3 years ago • 12 comments

Start testing the beta release of Python 3.11

blink1073 avatar May 09 '22 10:05 blink1073

Codecov Report

Base: 72.51% // Head: 72.40% // Decreases project coverage by -0.10% :warning:

Coverage data is based on head (955551a) compared to base (7d2154a). Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #839      +/-   ##
==========================================
- Coverage   72.51%   72.40%   -0.11%     
==========================================
  Files          64       64              
  Lines        8197     8197              
  Branches     1373     1373              
==========================================
- Hits         5944     5935       -9     
- Misses       1840     1846       +6     
- Partials      413      416       +3     
Impacted Files Coverage Δ
jupyter_server/services/contents/filemanager.py 70.05% <0.00%> (-1.57%) :arrow_down:
jupyter_server/serverapp.py 65.67% <0.00%> (-0.10%) :arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov-commenter avatar May 09 '22 10:05 codecov-commenter

Nope, looks like we're blocked on pyzmq building on Python 3.11.:

             gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DHAVE_SYS_UN_H=1 -Ibundled/zeromq/include -Izmq/utils -I/opt/hostedtoolcache/Python/3.11.0-beta.1/x64/include/python3.11 -c zmq/backend/cython/_device.c -o build/temp.linux-x86_64-cpython-311/zmq/backend/cython/_device.o
            zmq/backend/cython/_device.c:217:12: fatal error: longintrepr.h: No such file or directory
              217 |   #include "longintrepr.h"
                  |            ^~~~~~~~~~~~~~~
            compilation terminated.
            error: command '/usr/bin/gcc' failed with exit code 1
            [end of output]

blink1073 avatar May 09 '22 10:05 blink1073

I opened https://github.com/zeromq/pyzmq/issues/1697

blink1073 avatar May 09 '22 10:05 blink1073

Wow, that is annoying:

+ pip install --no-deps -v .
Using pip 22.0.4 from /opt/hostedtoolcache/Python/3.11.0-beta.1/x64/lib/python3.11/site-packages/pip (python 3.11)
Processing /home/runner/work/jupyter_server/jupyter_server
  Installing build dependencies: started
  Running command pip subprocess to install build dependencies
  Collecting flit_core<4,>=3.2
    Downloading flit_core-3.7.1-py3-none-any.whl (60 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.2/60.2 KB 3.2 MB/s eta 0:00:00
  Installing collected packages: flit_core
  Successfully installed flit_core-3.7.1
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Running command Getting requirements to build wheel
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Running command pip subprocess to install backend dependencies

What even does no-deps mean?

blink1073 avatar May 09 '22 13:05 blink1073

What even does no-deps mean?

You mean --no-deps has no effect on Python 3.11?

davidbrochart avatar May 09 '22 13:05 davidbrochart

Hmm, let's test that theory...

blink1073 avatar May 09 '22 13:05 blink1073

Same thing with Python 3.10. Let me try editable mode again.

blink1073 avatar May 09 '22 13:05 blink1073

Next try is building the sdist first and then installing from that with --pre.

blink1073 avatar May 09 '22 13:05 blink1073

Okay, this seems like a bug in flit or pip. I don't see why we should be picking up run time dependencies when building a wheel or sdist.

blink1073 avatar May 09 '22 13:05 blink1073

It isn't a pip bug, because it happens with both pip and build. I think this is related to https://github.com/pypa/flit/issues/354

blink1073 avatar May 09 '22 14:05 blink1073

Cool, so the solution is not to use dynamic versions with flit, since doing so pulls in the runtime requirements. However, now we're stuck on PyYAML:

         File "/tmp/pip-build-env-93f8_jkm/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 312, in _add_defaults_ext
          self.filelist.extend(build_ext.get_source_files())
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "setup.py", line 204, in get_source_files
          self.cython_sources(ext.sources, ext)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-93f8_jkm/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 103, in __getattr__
          raise AttributeError(attr)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^
      AttributeError: cython_sources
      [end of output]

blink1073 avatar May 09 '22 14:05 blink1073

Blocked on https://github.com/yaml/pyyaml/issues/630

blink1073 avatar May 09 '22 14:05 blink1073