Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install rpaframework - python 3.12 #1155

Open
KamilSoko opened this issue Feb 20, 2024 · 14 comments
Open

Cannot install rpaframework - python 3.12 #1155

KamilSoko opened this issue Feb 20, 2024 · 14 comments

Comments

@KamilSoko
Copy link

KamilSoko commented Feb 20, 2024

Hi,

I cannot install rpaframework. Distutils module is deprecated in Python 3.12. I have installed setuptools module to resolve that problem but without any success.

Thanks for your assistance.

Wheel build error below:

Building wheel for pendulum (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for pendulum (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [27 lines of output]
      Traceback (most recent call last):
        File "C:\Users\_____\AppData\Local\Temp\pip-install-l00zgag0\pendulum_a6da085d36564e299ed50ecd53335090\build.py", line 5, in <module>
          from distutils.command.build_ext import build_ext
      ModuleNotFoundError: No module named 'distutils'
      Traceback (most recent call last):
        File "C:\Users\_____\Desktop\test2\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
          main()
        File "C:\Users\_____\Desktop\test2\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\_____\Desktop\test2\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 251, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\_____\AppData\Local\Temp\pip-build-env-6067vdox\overlay\Lib\site-packages\poetry\core\masonry\api.py", line 58, in build_wheel
          return WheelBuilder.make_in(
                 ^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\_____\AppData\Local\Temp\pip-build-env-6067vdox\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 88, in make_in
          wb.build(target_dir=directory)
        File "C:\Users\_____\AppData\Local\Temp\pip-build-env-6067vdox\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 123, in build
          self._build(zip_file)
        File "C:\Users\_____\AppData\Local\Temp\pip-build-env-6067vdox\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 172, in _build
          self._run_build_script(self._package.build_script)
        File "C:\Users\_____\AppData\Local\Temp\pip-build-env-6067vdox\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 262, in _run_build_script
          subprocess.check_call([self.executable.as_posix(), build_script])
        File "C:\Users\_____\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 413, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['C:/Users/_____/Desktop/test2/Scripts/python.exe', 'build.py']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pendulum
Failed to build pendulum
ERROR: Could not build wheels for pendulum, which is required to install pyproject.toml-based projects
@mikahanninen
Copy link
Member

Our recommended Python version is 3.10.12 as indicated in our templates, as an example Python template.

Newer Python versions run a risk of lack of support in packages as indicated by the https://pyreadiness.org/3.10 (overall support level 77.2%) compared to https://pyreadiness.org/3.12 (overall support level 47.5%).

Just tried with Python=3.11.7 and rpaframework was successfully installed for that.

@DanBrown47
Copy link

Can we move to bump the dependencies and add support for 3.12 ?

@axiom41
Copy link

axiom41 commented Mar 18, 2024

Can we move to bump the dependencies and add support for 3.12 ?

Exactly: "pendulum" package, that seems to generate the error, has been updated to v3.0.0 since mid-december (compatibility with python 3.12 added), but rpaframework still requires (and reinstalls) v2.1.2

@mikahanninen
Copy link
Member

I understand your concerns, but if overall dependency support for most used Python packages in 3.12 is less than 50% then it can't be supported by us.

I will look into pendulum upgrade though if that can be done without further issues.

@shinenazeer
Copy link
Contributor

That would be great.

@IlfirinPL
Copy link

I notice that pendulum-3.0.0 install and works properly with python 3.12, maybe it`s possible to bump the dependency

@vncs1880
Copy link

vncs1880 commented May 3, 2024

Our recommended Python version is 3.10.12 as indicated in our templates, as an example Python template.

Newer Python versions run a risk of lack of support in packages as indicated by the https://pyreadiness.org/3.10 (overall support level 77.2%) compared to https://pyreadiness.org/3.12 (overall support level 47.5%).

Just tried with Python=3.11.7 and rpaframework was successfully installed for that.

from https://pyreadiness.org/3.12/ as seen today:

190 green packages (52.8%) support Python 3.12;
170 white packages (47.2%) don't explicitly support Python 3.12 yet.

I wonder if it's ok now 🤷‍♂️

@cabralbill
Copy link

you will generate a new version and remove the dependency?

@NorseGaud
Copy link

Bump

@DanBrown47
Copy link

@mikahanninen Can you look into the same ?

cc : @shinenazeer

@ahsalama
Copy link

I know this is not a real reliable solution , but I tried it and it worked, try the solution in not-able-to-install-rpa-library-in-robot-framework

@AlexanderRavenheart
Copy link

AlexanderRavenheart commented Sep 6, 2024

Our recommended Python version is 3.10.12 as indicated in our templates, as an example Python template.

Newer Python versions run a risk of lack of support in packages as indicated by the https://pyreadiness.org/3.10 (overall support level 77.2%) compared to https://pyreadiness.org/3.12 (overall support level 47.5%).

Just tried with Python=3.11.7 and rpaframework was successfully installed for that.

That is a poor metric to use for evaluating the supported Python versions since there are plenty of projects like blinker, flake8, beautifulsoup4 (just to name a few), that don't bother adding the version specific classifiers.

blinker:
image

flake8:
image

beautifulsoup4:
image

image

Not having the version specific classifier does not automatically imply a specific Python version is not supported by that project.

@ynerant
Copy link
Contributor

ynerant commented Oct 7, 2024

Hi!
Any update? Python 3.13 is about to be released, and according to https://pyreadiness.org/3.12/, 62.5 % of Python packages officially support Python 3.12. It is still quite annoying to not have official support.

I am using rpaframework since months with Python 3.12 and it works great, I juste had to trick the install of pendulum to success it. What is blocking the dependnecy update of pendulum?

If some people want, there is a trick to install pendulum 2.1.2 using Python 3.12:
You just have to clone the repository (https://github.com/sdispater/pendulum) and checkout to the 2.1.2 version, then go to the pyproject.toml file and comment the tool.poetry.build section. This will prevent native pendulum extensions to be loaded, using then the pure python code instead, so a performance issue can apply but it will still work. You just need then to install pendulum locally (using for example pip install .), then rpaframework will be installable even with Python 3.12. As I said, I didn't notice any issue related to Python 3.12 for now.

Even Python 3.12 is not officially supported and you don't want to give any guarantee, keeping the library installable (by updating the pendulum library) would seem useful.

@mikahanninen
Copy link
Member

The RPA Framework now supports Python 3.12 starting with rpaframework==29.0.0 and rpaframework-windows==8.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests