Error installing requirements on streamlit cloud

How to downgrade python version to python 3.9 version? it said ‘disutils’ is not avaliable again in python 3.12. I use streamlit version 1.24.1. Anyone have file requirements.txt regarding this problem?


Hey @Novan , welcome to the community. I think the packages.txt is not required and also you can remove

setuptools==58.0.4
wheel
pip

from your requirements.txt file. In the time initialisation, we are requested to select the python version right. So internally no need of using pip and packages.txt . After removing make sure to reboot the application m

still getting error on disutils and version of numpy sir

Using uv pip install.

Resolved 138 packages in 659ms

error: Failed to download distributions

  Caused by: Failed to fetch wheel: numpy==1.25.1

  Caused by: Failed to build: `numpy==1.25.1`

  Caused by: Build backend failed to determine extra requires with `build_wheel()` with exit status: 1

--- stdout:


--- stderr:

Traceback (most recent call last):

  File "<string>", line 8, in <module>

  File "/home/adminuser/.cache/uv/.tmpofUulV/.venv/lib/python3.12/site-packages/setuptools/__init__.py", line 10, in <module>

    import distutils.core

ModuleNotFoundError: No module named 'distutils'

---

Checking if Streamlit is installed


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



──────────────────────────────────────── pip ───────────────────────────────────────────


Using standard pip install.

Collecting numpy==1.25.1 (from -r /mount/src/project_data-science_dropout/requirements.txt (line 1))

  Downloading numpy-1.25.1.tar.gz (10.4 MB)

     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.4/10.4 MB 112.6 MB/s eta 0:00:00[2024-11-01 09:53:05.608563] 

  Installing build dependencies: started

  Installing build dependencies: finished with status 'done'

  Getting requirements to build wheel: started

  Getting requirements to build wheel: finished with status 'done'

ERROR: Exception:

Traceback (most recent call last):

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper

    status = run_func(*args)

             ^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper

    return func(self, options, args)

           ^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run

    requirement_set = resolver.resolve(

                      ^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve

    result = self._result = resolver.resolve(

                            ^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve

    state = resolution.resolve(requirements, max_rounds=max_rounds)

            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve

    self._add_to_criteria(self.state.criteria, r, parent=None)

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria

    if not criterion.candidates:

           ^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__

    return bool(self._sequence)

           ^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__

    return any(self)

           ^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>

    return (c for c in iterator if id(c) not in self._incompatible_ids)

                       ^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built

    candidate = func()

                ^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 182, in _make_candidate_from_link

    base: Optional[BaseCandidate] = self._make_base_candidate_from_link(

                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link

    self._link_candidate_cache[link] = LinkCandidate(

                                       ^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__

    super().__init__(

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__

    self.dist = self._prepare()

                ^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare

    dist = self._prepare_distribution()

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution

    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement

    return self._prepare_linked_requirement(req, parallel_builds)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement

    dist = _get_prepared_distribution(

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution

    abstract_dist.prepare_distribution_metadata(

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 54, in prepare_distribution_metadata

    self._install_build_reqs(finder)

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 124, in _install_build_reqs

    build_reqs = self._get_build_requires_wheel()

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 101, in _get_build_requires_wheel

    return backend.get_requires_for_build_wheel()

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_internal/utils/misc.py", line 745, in get_requires_for_build_wheel

    return super().get_requires_for_build_wheel(config_settings=cs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 166, in get_requires_for_build_wheel

    return self._call_hook('get_requires_for_build_wheel', {

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook

    raise BackendUnavailable(data.get('traceback', ''))

pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):

  File "/home/adminuser/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend

    obj = import_module(mod_path)

          ^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import

  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load

  File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed

  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import

  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load

  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 995, in exec_module

  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed

  File "/tmp/pip-build-env-misup5lz/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 10, in <module>

    import distutils.core

ModuleNotFoundError: No module named 'distutils'



[notice] A new release of pip is available: 24.0 -> 24.3.1

[notice] To update, run: pip install --upgrade pip

Checking if Streamlit is installed


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


[09:53:11] ❗️ installer returned a non-zero exit code

[09:53:11] ❗️ Error during processing dependencies! Please fix the error and push an update, or try restarting the app.

[09:52:51] 🚀 Starting up repository: 'project_data-science_dropout', branch: 'main', main module: 'app.py'

[09:52:51] 🐙 Cloning repository...

[09:52:54] 🐙 Cloning into '/mount/src/project_data-science_dropout'...
Warning: Permanently added the ED25519 host key for IP address '140.82.112.4' to the list of known hosts.

[09:52:54] 🐙 Cloned repository!

[09:52:54] 🐙 Pulling code changes from Github...

[09:52:55] 📦 Processing dependencies...


──────────────────────────────────────── uv ───────────────────────────────────────────


Using uv pip install.

Resolved 138 packages in 659ms

error: Failed to download distributions

  Caused by: Failed to fetch wheel: numpy==1.25.1

  Caused by: Failed to build: `numpy==1.25.1`

  Caused by: Build backend failed to determine extra requires with `build_wheel()` with exit status: 1

--- stdout:


--- stderr:

Traceback (most recent call last):

  File "<string>", line 8, in <module>

  File "/home/adminuser/.cache/uv/.tmpofUulV/.venv/lib/python3.12/site-packages/setuptools/__init__.py", line 10, in <module>

    import distutils.core

ModuleNotFoundError: No module named 'distutils'

---

Checking if Streamlit is installed

I think streamlit joblib pandas packages are enough based on the app.py and prediction.py file.

add distutils to your requirements.txt file

how about this error?

In the “Advanced settings” dialog when you deploy the application. But consider upgrading your dependencies instead.