Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Python, shared library, ctypes  (Прочитано 943 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн shestakoffvs

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Python, shared library, ctypes
« : 23 Июнь 2012, 15:19:46 »
Здравствуйте. Только пересел на Ubuntu, теперь пытаюсь перенести свой проектик новую среду. Столкнулся с проблемой, которую очень хочется решить. Проект - OpenGL сценка. Под винду было все просто, я писал код opengl на С, в dev-C++ создавал dllку, кидал в папку с проектом и подгружал ее self.clib = cdll.LoadLibrary('clib/clib.dll'). Как создавать .so под ubuntu я разобрался, но, никак не могу извернуться попроще с ее подключением. Проблема в том, что скомпилить ее одно дело и оно мое, но если я захочу дать кому-то свою прогу, то ему придется эту библиотеку самостоятельно включать в глобальный путь поиска библиотек. Вопрос и заключается в следующем, можно ли, shared library использовать как dllку, или же средствами питона включить ее в путь поиска. В общем, чтобы это все сама программуля делала?

Пользователь решил продолжить мысль 23 Июнь 2012, 15:59:11:
мимимими
« Последнее редактирование: 23 Июнь 2012, 15:59:11 от shestakoffvs »

Оффлайн ende_neu

  • Старожил
  • *
  • Сообщений: 2473
    • Просмотр профиля
Re: Python, shared library, ctypes
« Ответ #1 : 23 Июнь 2012, 16:30:34 »
sys.path
Или это не какой-то питоновый модуль?
Тогда LD_LIBRARY_PATH, обычно просто делают wrapper на баше/sh который подгружает либу и запускает приложение.
Типа
Код: (bash) [Выделить]
export LD_LIBRARY_PATH=/путь:$LD_LIBRARY_PATH
/путь/до/приложения
(понятно что пути можно определять динамически, dirname например - так что привязки к расположению нет)

Оффлайн mkarasik

  • Участник
  • *
  • Сообщений: 163
    • Просмотр профиля
Re: Python, shared library, ctypes
« Ответ #2 : 23 Июнь 2012, 17:30:59 »
Ну нормальным я вляется инсталяция программы, а не ее тупое копирование. Создаешь пакет со своей библиотекой и регистрируешь ее при установке. Зачем изобретать велосипед.

Оффлайн shestakoffvs

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Python, shared library, ctypes
« Ответ #3 : 24 Июнь 2012, 10:03:11 »
А оказалось все до слез просто. Нужно было просто прописать абсолютный путь, а не локальный. Таким образом /home/usr/ololo.../clib.so все нормально подключает буз каких-либо регистраций, правда возникли другие проблемы, но это уже вроде как из-за линковщика. Спасибо за ответы выше)

 

Страница сгенерирована за 0.086 секунд. Запросов: 24.