Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410

Портативная библиотека

14.05.2018, 14:17. Показов 2173. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
имеется крупный проект
один из используемых модулей - PyAL (OpenAL для Python)
без установки OpenAL SDK с официального сайта запускаться не хочет (файл __init__ в вышеназванной библиотеке не находит OpenAL32.dll), но установка требует права администратора, а там, где мне нужно сдавать проект - прав администратора нет, как, собственно говоря, и установленного OpenAL SDK, вопрос: возможно ли как то её носить с собой? (на данный момент Python ношу с собой в папке с проектом, к примеру)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2018, 14:17
Ответы с готовыми решениями:

Существует ли портативная версия интерпретатора python ?
Cуществует ли портативная версия интерпретатора python? нужно чисто для того чтобы выполнить скрипт, сам этим языком не особо интересуюсь,...

бесплатная библиотека Python с открытым исходным кодом криптографических алгоритмов и схем есть ли такая библиотека?
Есть ли такая библиотека на питоне ?

Портативная БД
Требуется портативная бд со следующими характеристиками - Портативная и локальная бд - мультиаккаутность - быстрая работа с большими...

26
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
14.05.2018, 14:38
Найти куда устанавливается OpenAL32.dll и положить его в папку с файлом, __init__ который его требует
0
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
14.05.2018, 14:52  [ТС]
Цитата Сообщение от ТабуретY Посмотреть сообщение
Найти куда устанавливается OpenAL32.dll и положить его в папку с файлом, __init__ который его требует
уже пробовал, не работало
я немного почитал код __init__
там есть функция, которая находит OpenAL32.dll и возвращает путь к ней, я заменил поиск на банальный возврат пути к расположению этой dll'ки в другом месте (я её переместил намеренно для теста), он сказал, что не может подгрузить её (а на эту ошибку гугл вообще ничего не сказал: "could not load any library for OpenAL")

Добавлено через 11 минут
Веселее всего то, что сейчас (сейчас установлена OpenAL) я убираю OpenAL32.dll из пути, который он мне показывает (т.е. откуда он её берёт - "C:\\Windows\\System32\\OpenAL.dll") , а он продолжает её там находить... (даже перезапустил комп)
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
14.05.2018, 15:03
Если дело в чисто питоновский библиотеке, то проблем нет.
Можно вручную её скопировать в папку с проектом, можно через pip (кажись, ключ -target).

Если же openal ставится в винду отдельно - то не повезло. Питоновский клиент таскать с собой можно, если же нет самой либы, а она нужна в винде, то - - -

Добавлено через 1 минуту
Можно, конечно, и либу попробовать выдернуть из винды, но это уже вопрос за рамками питона.
0
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
14.05.2018, 15:04  [ТС]
Цитата Сообщение от dondublon Посмотреть сообщение
Можно, конечно, и либу попробовать выдернуть из винды, но это уже вопрос за рамками питона.
ну, походу, всё же, к последнему вопрос и сводится, ибо ставится OpenAL отдельно от PyAL, но нужны оба

Добавлено через 13 секунд
идеи?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
14.05.2018, 15:29
Есть разные способы.
1. Джентльменский. Отследить установленные файлы. Берёшь чистую систему (пойдёт виртуалка), делаешь слепок (список файлов). Устанавливаешь openAl, смотришь, что поменялось. Данный функционал есть в программах-uninstaller-ах.

2. Кулхацкерский. Ставишь программу dependency walker. Смотришь зависимости, выдираешь dll-ки под одной.

Добавлено через 2 минуты
Да, и не забудь, что бинарники для x32 и х64 различны.
0
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
14.05.2018, 15:36  [ТС]
таксь.. из какого окошка искать DLL'ки? из левого-верхнего или же нижнего?
Миниатюры
Портативная библиотека  
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
14.05.2018, 16:40
Чесгря, давно уже пользовался.
Открываешь свою dll-ку, она тебе в дереве показывает, на какие другие dll-ки ссылается. Виндовые системные игнорируешь, специфичные вытаскиваешь.
Можно даже начинать не с openal32.dll (или как её там), а с питоновской pyd - интуиция говорит мне, она там очень даже возможна.
0
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
14.05.2018, 16:42  [ТС]
хорошо, как определить какие из этих сотен либ системные, а какие - нет?
не гуглить же каждую
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
14.05.2018, 16:51
Цитата Сообщение от dondublon Посмотреть сообщение
с питоновской pyd - интуиция говорит мне, она там очень даже возможна
нет, там используется обычная dll, причем начинает работу только после установки инсталлятором, если просто положить dll в system32, то работать не будет
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
14.05.2018, 17:43
Цитата Сообщение от Nordicus666 Посмотреть сообщение
хорошо, как определить какие из этих сотен либ системные, а какие - нет?
не гуглить же каждую
Ну не знаю, догадываться. Кулхацкер - он такой. Если бы была инструкция, каждый прочёл бы и стал.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.05.2018, 18:28
1) PyOpenAL для windows уже поставляется с soft_oal.dll - это и есть OpenAL32.dll. Только новая, а на сайте openal (во всяких там SDK) - древняя. В том числе и в oalinst.exe (внутри установщика только одна dll).
2) whl пакет с pypi уже содержит 64-битную либу (даже если вы устанавливаете пакет в 32-битный python) и она, соответственно, будет работать только с 64-битным python.
3) Если python 32-битный - берем либу из архива openal-soft-1.18.2-bin.zip по пути:
openal-soft-1.18.2-bin\bin\Win32\soft_oal.dll (адрес архива указан в документации и там можно найти оба варианта библиотеки и 32 и 64-битный.
Заменяем дефолтную либу и на 32-битном python тоже все работает. Причем либа ищется под двум путям: каталог скрипта и каталог модуля openal.
-----------------------------------------------
Зачем вам понадобился какой-то там древний SDK 2009 года (OpenAL11CoreSDK) - загадка.

Добавлено через 5 минут
И да, из зависимостей у soft_oal только kernel32.dll, shell32.dll, user32.dll, ole32.dll, msvcrt.dll и winmm.dll - то есть только системные либы.
1
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
14.05.2018, 18:44
Правильный пакет оказывается PyOpenAL
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.05.2018, 18:52
Да, кстати - я именно его и ставил. А PyAL на pypi - сейчас глянул - вообще с 2013 года не обновлялся.
0
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
14.05.2018, 19:02  [ТС]
Хорошо, но я и так убил на поиски звуковой либы для питона неделю, про (именно такой) PyOpenAL я не нашёл, как же его тогда поставить? (извиняюсь, нет времени сейчас самому загуглить)
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
14.05.2018, 19:03
pip install pyopenal
0
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
14.05.2018, 19:44  [ТС]
снёс предыдущий al, поставил новый (хотя разницы вообще не увидел, честно), убрал SDK с компа, попробовал запустить ранее запускавшийся на моём компе проект: module 'openal.al' has no attibute 'ALint' (гугл о таком не знает, уже проверил, такого текста он мне не нашёл)
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
14.05.2018, 19:58
Код придется поправить, библиотека другая https://github.com/Zuzu-Typ/PyOpenAL
0
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
14.05.2018, 20:05  [ТС]
Цитата Сообщение от ТабуретY Посмотреть сообщение
Код придется поправить, библиотека другая https://github.com/Zuzu-Typ/PyOpenAL
Первое же, что бросилось в глаза: "PyOpenAL requires a shared OpenAL library (e.g. OpenAL32.dll), one of which the Windows distributions already come with (OpenAL Soft by kcat). You can use the official OpenAL library (deprecated) or any other compatible library, like the aforementioned OpenAL Soft library, which is still actively developed."
таки встроена там эта либа или нет?
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
14.05.2018, 20:17
Встроена, лежит в Lib\site-packages\openal
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.05.2018, 20:17
Помогаю со студенческими работами здесь

Портативная кофеварка
Я свою жизнь не представляю без кофе, но покупать сочно приготовленное кофе из стиков уже порядком надоело. Существуют ли какие - нибудь...

портативная кодевижн
Только из-за мастера заготовки кода была создана эта версия. Но я думаю можно и программы писать но не стоит. Читаем файл:...

Портативная аппликация JavaFX
Всем доброго времени суток! Объясните пожалуйста чайнику. Хочу сделать портативную аппликацию JavaFX. Под этим я подразумеваю...

Портативная зарядка 5В Li-ion
Зравствуйте, загорелся желанием сделать портативную зарядку из li ion аккумуляторов. В общем столкнулся с проблемами С выбором...

Портативная консоль из прошлого
Нужна помощь знатоков, как то в районе 2000 годов, будучи мелким школьником, я в магазине увидел консоль портативную. Была она синего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru