aws/aws-iot-device-sdk-python-v2

Installation Failed on Python 3.11

watanabeshuji opened this issue · 4 comments

Describe the bug

Fail to install awscrt 0.14.7

Expected Behavior

Installation Success.

Current Behavior

Installation Failed

Reproduction Steps

  1. Use Python 3.10+
  2. Install awsiotsdk with pip

Possible Solution

No response

Additional Information/Context

pip install awsiotsdk

Collecting awsiotsdk
Using cached awsiotsdk-1.11.9-py3-none-any.whl (59 kB)
Collecting awscrt==0.14.7
Using cached awscrt-0.14.7.tar.gz (21.5 MB)
Preparing metadata (setup.py) ... done
Installing collected packages: awscrt, awsiotsdk
DEPRECATION: awscrt is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at pypa/pip#8559
Running setup.py install for awscrt ... error
error: subprocess-exited-with-error

× Running setup.py install for awscrt did not run successfully.
│ exit code: 1
╰─> [71 lines of output]
running install
/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib.macosx-12.6-x86_64-cpython-311
creating build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/auth.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/io.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/init.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/mqtt.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/_test.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/crypto.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/common.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/http.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/exceptions.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/checksums.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
copying awscrt/s3.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt
creating build/lib.macosx-12.6-x86_64-cpython-311/awscrt/eventstream
copying awscrt/eventstream/init.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt/eventstream
copying awscrt/eventstream/rpc.py -> build/lib.macosx-12.6-x86_64-cpython-311/awscrt/eventstream
running build_ext
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "/private/var/folders//kq66pvmx24d9g3_pyvpv7cym0000gp/T/pip-install-u5v9himo/awscrt_c437acab56cb4d3fbc9527eebc2d50af/setup.py", line 348, in
setuptools.setup(
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/init.py", line 87, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
self.run_command(cmd)
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/command/install.py", line 68, in run
return orig.install.run(self)
^^^^^^^^^^^^^^^^^^^^^^
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/command/install.py", line 698, in run
self.run_command('build')
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command
self.distribution.run_command(command)
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 132, in run
self.run_command(cmd_name)
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command
self.distribution.run_command(command)
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/Users/shuji/.pyenv/versions/3.11.0/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/private/var/folders/
/kq66pvmx24d9g3_pyvpv7cym0000gp/T/pip-install-u5v9himo/awscrt_c437acab56cb4d3fbc9527eebc2d50af/setup.py", line 266, in run
self._build_dependency(lib, dep_build_dir, dep_install_path)
File "/private/var/folders//kq66pvmx24d9g3_pyvpv7cym0000gp/T/pip-install-u5v9himo/awscrt_c437acab56cb4d3fbc9527eebc2d50af/setup.py", line 259, in _build_dependency
self._build_dependency_impl(aws_lib, build_dir, install_path)
File "/private/var/folders/
/kq66pvmx24d9g3_pyvpv7cym0000gp/T/pip-install-u5v9himo/awscrt_c437acab56cb4d3fbc9527eebc2d50af/setup.py", line 157, in _build_dependency_impl
cmake = get_cmake_path()
^^^^^^^^^^^^^^^^
File "/private/var/folders/__/kq66pvmx24d9g3_pyvpv7cym0000gp/T/pip-install-u5v9himo/awscrt_c437acab56cb4d3fbc9527eebc2d50af/setup.py", line 113, in get_cmake_path
raise Exception("CMake must be installed to build from source.")
Exception: CMake must be installed to build from source.
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> awscrt

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

SDK version used

1.11.9

Environment details (OS name and version, etc.)

3.11 Mac

1.11.10 added support for python 3.11 wheels.

Please make sure that you are using the latest version (1.11.10):

Using cached awsiotsdk-1.11.9-py3-none-any.whl (59 kB)
Let me know if you run into any other build problems

Now, require fixed version of awscrt.
awscrt==0.15.3
https://github.com/aws/aws-iot-device-sdk-python-v2/blob/main/setup.py#L42-L44

I do not found other problems.

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.