|
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
|
|
| 14.05.2018, 14:17 | |
|
Ответы с готовыми решениями:
26
Существует ли портативная версия интерпретатора python ? бесплатная библиотека Python с открытым исходным кодом криптографических алгоритмов и схем есть ли такая библиотека? Портативная БД |
|
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 [ТС] | ||
|
я немного почитал код __init__ там есть функция, которая находит OpenAL32.dll и возвращает путь к ней, я заменил поиск на банальный возврат пути к расположению этой dll'ки в другом месте (я её переместил намеренно для теста), он сказал, что не может подгрузить её (а на эту ошибку гугл вообще ничего не сказал: "could not load any library for OpenAL") Добавлено через 11 минут Веселее всего то, что сейчас (сейчас установлена OpenAL) я убираю OpenAL32.dll из пути, который он мне показывает (т.е. откуда он её берёт - "C:\\Windows\\System32\\OpenAL.dll") , а он продолжает её там находить... (даже перезапустил комп)
0
|
||
|
|
|
| 14.05.2018, 15:03 | |
|
Если дело в чисто питоновский библиотеке, то проблем нет.
Можно вручную её скопировать в папку с проектом, можно через pip (кажись, ключ -target). Если же openal ставится в винду отдельно - то не повезло. Питоновский клиент таскать с собой можно, если же нет самой либы, а она нужна в винде, то - - - Добавлено через 1 минуту Можно, конечно, и либу попробовать выдернуть из винды, но это уже вопрос за рамками питона.
0
|
|
|
7 / 7 / 0
Регистрация: 05.04.2016
Сообщений: 410
|
||
| 14.05.2018, 15:04 [ТС] | ||
|
Добавлено через 13 секунд идеи?
0
|
||
|
|
|
| 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
|
|
|
|
|
| 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 | ||
|
0
|
||
|
|
|
| 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
|
|
|
|
|
| 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 [ТС] | ||
|
таки встроена там эта либа или нет?
0
|
||
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
|
| 14.05.2018, 20:17 | |
|
Встроена, лежит в Lib\site-packages\openal
0
|
|
| 14.05.2018, 20:17 | |
|
Помогаю со студенческими работами здесь
20
Портативная кофеварка портативная кодевижн Портативная аппликация JavaFX Портативная зарядка 5В Li-ion Портативная консоль из прошлого Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
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. Данные берутся из регистра сведений, по. . .
|