installation via uv fails on python 3.13
🐛 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
C.f. aimrocks issue https://github.com/aimhubio/aimrocks/issues/37
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.
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
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.
This is honestly ridiculous... aim is once again the only package preventing us from updating our Python version... Please sort it out @mahnerak