ronny-rentner / UltraDict

Sychronized, streaming Python dictionary that uses shared memory as a backend
Apache License 2.0
272 stars 25 forks source link

python3.11 -m build fails with FileNotFoundError #27

Closed thatlarrypearson closed 1 month ago

thatlarrypearson commented 1 year ago

Summary

python3.11 -m build fails with "FileNotFoundError: [Errno 2] No such file or directory: '/tmp/build-via-sdist-k5fbi61p/UltraDict-0.0.6/readme.md'".

Worked out new build system that works.

Build/Install/Test System

Raspberry Pi OS (Debian) Bookworm Version 12.2 Rasberry Pi 4 4GB Ram Python 3.11.5

By The Way...

This is an awesome good project. I've been using it for a year or so. The abstraction (shared dictionaries) works really well with my programming style.

thatlarrypearson commented 1 year ago

I apologize. My pyproject.toml and setup.cfg changes don't actually work. I started over.

I came up with a simple solution that does in fact build on the RPi and is relatively simple to fix.

Attached is the failed build (python3.11 -m build .)

RPi-UltraDict-Build-Failure.txt

setup.py line 7: long_description = (this_directory / "readme.md").read_text()

# file exists
ls -l readme.md

File exists but when build runs it spits out this odd message:

warning: sdist: standard file not found: should have one of README, README.rst, README.txt, README.md

This led me to change setup.py line 7 reademe.md to README.md and then rename the readme file.

git mv readme.md README.md

Here is the build, install and test output.

RPi-UltraDict-Build-Test.txt

ronny-rentner commented 1 year ago

Hey, thanks for your feed and contribution and sorry for not getting back to you earlier.

UltraDict uses Cython to get the last few percent of performance. The intended way to build it is:

python -m setup build

This works for me with: gcc version 12.2.0 (Debian 12.2.0-14) Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux

Afaik the new Python build system does not support Cython, yet.