aim icon indicating copy to clipboard operation
aim copied to clipboard

installation via uv fails on python 3.13

Open charlesmelby opened this issue 7 months ago • 5 comments

🐛 Bug

Failure 1: Can't install with python target >= 3.13 Failure 2: Even with python requirement lowered to 3.12, can't install from python 13 because aimrocks has no wheels for 3.13

Note: pip installation is OK in this case.

To reproduce

Failure 1: Can't install with python target >= 3.13

$ uv init --python=3.13
$ uv add aim
Using CPython 3.13.1
Removed virtual environment at: .venv
Creating virtual environment at: .venv
Resolved 59 packages in 51ms
  × Failed to build `pysqlite3==0.5.4`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1)

...

Failure 2: Can lower requirement to 3.12, but aimrocks has no wheels for 3.13

$ echo 3.13 > .python-version
$ uv init --python=3.12
$ uv add aim
Resolved 51 packages in 41ms
error: Distribution `aimrocks==0.5.2 @ registry+https://pypi.org/simple` can't be installed because it doesn't have a source distribution or wheel for the current platform

hint: You're using CPython 3.13 (`cp313`), but `aimrocks` (v0.5.2) only has wheels with the following Python ABI tag: `cp312`

Expected behavior

Succeeds.

Environment

  • Aim version: 3.29.1
  • Python version: 3.13
  • pip version: using uv
  • OS: macOS

charlesmelby avatar May 14 '25 02:05 charlesmelby

C.f. aimrocks issue https://github.com/aimhubio/aimrocks/issues/37

charlesmelby avatar May 14 '25 02:05 charlesmelby

I am facing similar issue with aim installation using uv in python 3.13 on Windows 10. This is how the installation logs look like.

Resolved 58 packages in 70ms
  × Failed to build `pysqlite3==0.5.4`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit code: 1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      copying pysqlite3\dbapi2.py -> build\lib.win-amd64-cpython-313\pysqlite3
      copying pysqlite3\__init__.py -> build\lib.win-amd64-cpython-313\pysqlite3
      running build_ext
      Builds a C extension linking against libsqlite3 library
      building 'pysqlite3._sqlite3' extension
      "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DMODULE_NAME=\"pysqlite3.dbapi2\" -I/usr/include
      -IC:\Users\skushwaha\AppData\Local\uv\cache\builds-v0\.tmpRyjaXa\include -IC:\Python313\include -IC:\Python313\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include"
      "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows
      Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows
      Kits\10\\include\10.0.22621.0\\cppwinrt" /Tcsrc\blob.c /Fobuild\temp.win-amd64-cpython-313\Release\src\blob.obj
      blob.c
      C:\Users\skushwaha\AppData\Local\uv\cache\sdists-v9\pypi\pysqlite3\0.5.4\IqTBiojsPtXrhXaXiXjH-\src\src\blob.h(4): fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory

      [stderr]
      C:\Users\skushwaha\AppData\Local\uv\cache\builds-v0\.tmpRyjaXa\Lib\site-packages\setuptools\dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!

              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:

              License :: OSI Approved :: zlib/libpng License

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        self._finalize_license_expression()
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2

      hint: This usually indicates a problem with the package or the build environment.
  help: `pysqlite3` (v0.5.4) was included because `aim` (v2.7.4) depends on `pysqlite3`

@charlesmelby, @dsblank would appreciate your feedback on this.

xandie985 avatar Jun 24 '25 14:06 xandie985

For those who are still facing issue installation issue of aim on Windows machines, here is a smart alternative of using wsl. This resolved my issues and will help you save hours of troubleshooting. https://code.visualstudio.com/docs/remote/wsl

xandie985 avatar Jun 24 '25 15:06 xandie985

I am having trouble installing aim on Python 3.13 on Arch Linux in a clean venv with pip. It appears like it's not just a Windows or uv problem to me. I believe it's due to aimrocks not working in Python 3.13 so for this issue I'd just suggest a name change unless I'm missing something.

RunnersNum40 avatar Jul 21 '25 02:07 RunnersNum40

This is honestly ridiculous... aim is once again the only package preventing us from updating our Python version... Please sort it out @mahnerak

judahrand avatar Aug 18 '25 10:08 judahrand