Error during processing dependencies: pickle5

hello! i’m trying to deploy and experiencing problems with installing requirements
on codespace i’ve changed python to 3.7 for pickle5 to work as it requires <3.8. it has worked there, but not on deployment

  1. Share the link to the public app (deployed on Community Cloud). : https://projectorproject-lithium.streamlit.app/
  2. Share the link to your app’s public GitHub repository (including a requirements file). : GitHub - your-lithium/projector-project
  3. Share the full text of the error message (not a screenshot). :
Building wheels for collected packages: pickle5
  Building wheel for pickle5 (setup.py): started
  Building wheel for pickle5 (setup.py): finished with status 'error'
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [96 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      creating build/lib.linux-x86_64-cpython-311/pickle5
      copying pickle5/__init__.py -> build/lib.linux-x86_64-cpython-311/pickle5
      copying pickle5/pickle.py -> build/lib.linux-x86_64-cpython-311/pickle5
      copying pickle5/pickletools.py -> build/lib.linux-x86_64-cpython-311/pickle5
      creating build/lib.linux-x86_64-cpython-311/pickle5/test
      copying pickle5/test/__init__.py -> build/lib.linux-x86_64-cpython-311/pickle5/test
      copying pickle5/test/pickletester.py -> build/lib.linux-x86_64-cpython-311/pickle5/test
      copying pickle5/test/test_picklebuffer.py -> build/lib.linux-x86_64-cpython-311/pickle5/test
      copying pickle5/test/test_pickle.py -> build/lib.linux-x86_64-cpython-311/pickle5/test
      running build_ext
      building 'pickle5._pickle' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/pickle5
      gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/adminuser/venv/include -I/usr/local/include/python3.11 -c pickle5/_pickle.c -o build/temp.linux-x86_64-cpython-311/pickle5/_pickle.o -std=c99
      pickle5/_pickle.c: In function ‘Pdata_New’:
      pickle5/_pickle.c:464:19: error: lvalue required as left operand of assignment
        464 |     Py_SIZE(self) = 0;
            |                   ^
      pickle5/_pickle.c: In function ‘Pdata_clear’:
      pickle5/_pickle.c:491:19: error: lvalue required as left operand of assignment
        491 |     Py_SIZE(self) = clearto;
            |                   ^
      pickle5/_pickle.c: In function ‘Pdata_pop’:
      pickle5/_pickle.c:542:23: error: lvalue required as decrement operand
        542 |     return self->data[--Py_SIZE(self)];
            |                       ^~
      pickle5/_pickle.c: In function ‘Pdata_push’:
      pickle5/_pickle.c:552:29: error: lvalue required as increment operand
        552 |     self->data[Py_SIZE(self)++] = obj;
            |                             ^~
      pickle5/_pickle.c: In function ‘Pdata_poptuple’:
      pickle5/_pickle.c:582:19: error: lvalue required as left operand of assignment
        582 |     Py_SIZE(self) = start;
            |                   ^
      pickle5/_pickle.c: In function ‘Pdata_poplist’:
      pickle5/_pickle.c:599:19: error: lvalue required as left operand of assignment
        599 |     Py_SIZE(self) = start;
            |                   ^
      pickle5/_pickle.c: In function ‘_Unpickler_ReadFromFile’:
      pickle5/_pickle.c:1285:16: warning: implicit declaration of function ‘_PyObject_CallNoArg’; did you mean ‘PyObject_CallNoArgs’? [-Wimplicit-function-declaration]
       1285 |         data = _PyObject_CallNoArg(self->readline);
            |                ^~~~~~~~~~~~~~~~~~~
            |                PyObject_CallNoArgs
      pickle5/_pickle.c:1285:14: warning: assignment to ‘PyObject *’ {aka ‘struct _object *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
       1285 |         data = _PyObject_CallNoArg(self->readline);
            |              ^
      pickle5/_pickle.c: In function ‘whichmodule’:
      pickle5/_pickle.c:1937:15: warning: implicit declaration of function ‘_PySys_GetObjectId’; did you mean ‘PySys_GetObject’? [-Wimplicit-function-declaration]
       1937 |     modules = _PySys_GetObjectId(&PyId_modules);
            |               ^~~~~~~~~~~~~~~~~~
            |               PySys_GetObject
      pickle5/_pickle.c:1937:13: warning: assignment to ‘PyObject *’ {aka ‘struct _object *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
       1937 |     modules = _PySys_GetObjectId(&PyId_modules);
            |             ^
      pickle5/_pickle.c: In function ‘save_float’:
      pickle5/_pickle.c:2255:13: warning: implicit declaration of function ‘_PyFloat_Pack8’; did you mean ‘PyFloat_Pack8’? [-Wimplicit-function-declaration]
       2255 |         if (_PyFloat_Pack8(x, (unsigned char *)&pdata[1], 0) < 0)
            |             ^~~~~~~~~~~~~~
            |             PyFloat_Pack8
      pickle5/_pickle.c: In function ‘save’:
      pickle5/_pickle.c:4452:30: warning: assignment to ‘PyObject *’ {aka ‘struct _object *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
       4452 |                 reduce_value = _PyObject_CallNoArg(reduce_func);
            |                              ^
      pickle5/_pickle.c: In function ‘load_binfloat’:
      pickle5/_pickle.c:5428:9: warning: implicit declaration of function ‘_PyFloat_Unpack8’; did you mean ‘PyFloat_Unpack8’? [-Wimplicit-function-declaration]
       5428 |     x = _PyFloat_Unpack8((unsigned char *)s, 0);
            |         ^~~~~~~~~~~~~~~~
            |         PyFloat_Unpack8
      pickle5/_pickle.c: In function ‘load_pop’:
      pickle5/_pickle.c:6178:30: error: lvalue required as left operand of assignment
       6178 |         Py_SIZE(self->stack) = len;
            |                              ^
      pickle5/_pickle.c: In function ‘do_append’:
      pickle5/_pickle.c:6535:42: error: lvalue required as left operand of assignment
       6535 |                     Py_SIZE(self->stack) = x;
            |                                          ^
      pickle5/_pickle.c:6541:34: error: lvalue required as left operand of assignment
       6541 |             Py_SIZE(self->stack) = x;
            |                                  ^
      pickle5/_pickle.c: In function ‘load_additems’:
      pickle5/_pickle.c:6663:38: error: lvalue required as left operand of assignment
       6663 |                 Py_SIZE(self->stack) = mark;
            |                                      ^
      pickle5/_pickle.c:6668:30: error: lvalue required as left operand of assignment
       6668 |         Py_SIZE(self->stack) = mark;
            |                              ^
      pickle5/_pickle.c: In function ‘Pdata_pop’:
      pickle5/_pickle.c:543:1: warning: control reaches end of non-void function [-Wreturn-type]
        543 | }
            | ^
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pickle5
  Running setup.py clean for pickle5
Failed to build pickle5
ERROR: Could not build wheels for pickle5, which is required to install pyproject.toml-based projects
Checking if Streamlit is installed

────────────────────────────────────────────────────────────────────────────────────────

[08:14:04] ❗️ installer returned a non-zero exit code
[08:14:04] ❗️ Error during processing dependencies! Please fix the error and push an update, or try restarting the app.
[08:15:35] ❗️ Streamlit server consistently failed status checks
[08:15:35] ❗️ Please fix the errors, push an update to the git repo, or reboot the app.

Any specific reason to use this ancient python version?

Obviously you selected python 3.11 and pickle5 is a backport that cannot be installed on python > 3.7
Just remove pickle5 and try again.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.