Cannot install rpaframework - python 3.12
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
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.
Can we move to bump the dependencies and add support for 3.12 ?
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
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.
That would be great.
I notice that pendulum-3.0.0 install and works properly with python 3.12, maybe it`s possible to bump the dependency
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 🤷♂️
you will generate a new version and remove the dependency?
Bump
@mikahanninen Can you look into the same ?
cc : @shinenazeer
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
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:
flake8:
beautifulsoup4:
Not having the version specific classifier does not automatically imply a specific Python version is not supported by that project.
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.
The RPA Framework now supports Python 3.12 starting with rpaframework==29.0.0 and rpaframework-windows==8.0.0