Napisałem bibliotekę, której główna funkcjonalność jest zaimplementowana w C (szybkość jest krytyczna), z cienką warstwą Pythona wokół niej, aby poradzić sobie z złośliwością ctypes
.Najlepszy sposób na spakowanie biblioteki Pythona zawierającej bibliotekę współużytkowaną języka C?
idę, aby go zapakować i zastanawiam się, jak mogę najlepiej iść na ten temat. Kod, z którym musi się połączyć, to biblioteka współdzielona. Mam plik Makefile, który tworzy kod C i tworzy plik .so
, ale nie wiem, jak go skompilować za pomocą distutils. Należy po prostu zawołać make
z subprocess
nadrzędnymi komendy install
(jeśli tak, to install
miejsce na to, czy jest build
bardziej odpowiednie?)
Aktualizacja: Chcę zwrócić uwagę, że jest to nie rozszerzenie Pythona. Oznacza to, że biblioteka C nie zawiera kodu interakcyjnego z modułem wykonawczym Python. Python wykonuje wywołania funkcji obcych do prostej biblioteki współdzielonej C.
Masz jakieś rozwiązanie swojego problemu? Utknąłem z tym samym pytaniem i desperacko szukałem odpowiedzi;) – MrLeeh
To jest bardzo dawno temu, ale wygląda na to, że rozwiązałem to przez wyłapanie na 'make'. To setup.py z tej biblioteki: https://gist.github.com/obeattie/3d491ec4c29b1d4b46387b285c91ca89 – obeattie
próbowałem robić to, co masz w tym GIST, ale ... jak się dostać cię '.so' wyłożone, aby zainstalować w dowolnej lokalizacji Python/ld będzie go szukać? – wvxvw