Форум сайта python.su
0
Сейчас оптимизирую расположение модулей питона по логам strace. Заметил такие файлы и папки, которые не найдены при запуске команды python:
./Modules/Setup <–что за папка или файл?
./pybuilddir.txt <– что за файл?
./lib/python27.zip <–что внутри архива???
Еще заметил, что в первую очередь обращаются к *.so-файлам, а потом, в случае ненахождения его, обращается последовательно к *.py, *.pyc, *.pyo. Как их преобразовать в so?
Буду благодарен за ответы!
Офлайн
253
so динамические библиотеки. Обычно получают компиляцией программ написанных на c, c++ и т.п.
Переписывайте программу с питона на c и компилируйте. Есть конечно и много других способов получить so файлы.
Офлайн
0
doza_andСпасибо за ответ, но, извините:
so динамические библиотеки. Обычно получают компиляцией программ написанных на c, c++ и т.п.Переписывайте программу с питона на c и компилируйте. Есть конечно и много других способов получить so файлы.
Офлайн
88
VadyНаименее трудозатратно делать это при помощи cython.
как py/pyc/pyo преобразовать в so
Офлайн
0
ShamanБлагодарю за ответ! А примерами можно?
Наименее трудозатратно делать это при помощи cython.
Офлайн
88
Можно и примерами.
Имеем hw.py:
def hello(): print 'Hello world!'
$ cython -2 hw.py
$ gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing -I/usr/include/python2.7 -o hw.so hw.c
$ mv hw.py hw._
$ python2
Python 2.7.10 (default, May 26 2015, 04:16:29)
[GCC 5.1.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from hw import hello
>>> hello()
Hello world!
Отредактировано Shaman (Июнь 10, 2015 10:42:14)
Офлайн
0
Shaman
Спасибо огромное!
Офлайн