Просмотр сообщений
|
Страниц: 1 [2] 3 4 ... 761
|
17
|
Qt / Установка, сборка, отладка, тестирование / Re: No module named Jinja2
|
: Февраль 08, 2022, 15:09
|
Да, похоже мысль была верная. Подсунул фолдеры jinja2 в тот пытон что в установке, теперь Traceback (most recent call last): File "/Users/igor/Desktop/o3de-development/cmake/AzAutoGen.py", line 364, in <module> import jinja2 File "/Users/igor/Desktop/o3de-development/python/runtime/python-3.7.10-rev1-darwin/Python.framework/Versions/3.7/lib/python3.7/site-packages/Jinja2-3.0.3-py3.7.egg/jinja2/__init__.py", line 8, in <module> from .environment import Environment as Environment File "/Users/igor/Desktop/o3de-development/python/runtime/python-3.7.10-rev1-darwin/Python.framework/Versions/3.7/lib/python3.7/site-packages/Jinja2-3.0.3-py3.7.egg/jinja2/environment.py", line 15, in <module> from markupsafe import Markup ModuleNotFoundError: No module named 'markupsafe'
CMake Error at cmake/LyAutoGen.cmake:34 (add_custom_command): add_custom_command Wrong syntax. A TARGET or OUTPUT must be specified. Call Stack (most recent call first): cmake/LYWrappers.cmake:381 (ly_add_autogen) Code/Framework/AzNetworking/CMakeLists.txt:12 (ly_add_target)
Но продвинуться дальше не удается (куда только не копировал этот злосчастный markupsafe). Понимаю что мои действия "не выглядя хорошо" , но как действовать грамотно - не знаю. Может надо признать что поставить этот софт без инета не удастся Долбаные скрипты
|
|
|
18
|
Qt / Установка, сборка, отладка, тестирование / Re: No module named Jinja2
|
: Февраль 08, 2022, 12:07
|
Делал это N раз Вроде ставит, но ошибка та же. Может что не так делаю? sudo python3 setup.py install Пытонов два (2.7 и 3.9) - ну на всякий случай поставил для обоих. sudo - иначе вякает что нет permission. Да, и приложение (или установка) идет со своим пытоном (3.7). CMake пишет варнинг Using package /Users/igor/Desktop/o3de-development/python/runtime/python-3.7.10-rev1-darwin Using Python 3.7.10 at /Users/igor/Desktop/o3de-development/python/runtime/python-3.7.10-rev1-darwin/Python.framework/Versions/3.7/bin/python3 Python: Getting/Checking packages listed in /Users/igor/Desktop/o3de-development/python/requirements.txt Python: Getting/Checking packages listed in /Users/igor/Desktop/o3de-development/python/requirements.txt - Failed to fetch / update python dependencies: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x108414dd0>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')': /simple/atomicwrites/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x10842f1d0>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')': /simple/atomicwrites/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x10842f510>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')': /simple/atomicwrites/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x10842f850>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')': /simple/atomicwrites/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x10842fb90>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')': /simple/atomicwrites/ ERROR: Could not find a version that satisfies the requirement atomicwrites==1.4.0 ERROR: No matching distribution found for atomicwrites==1.4.0 - use CMAKE_MESSAGE_LOG_LEVEL to VERBOSE for more information CMake Warning at cmake/LYPython.cmake:127 (message): PIP reports unmet dependencies: ly-test-tools 1.0.0 requires imageio, which is not installed.
ly-test-tools 1.0.0 requires numpy, which is not installed.
ly-test-tools 1.0.0 requires pluggy, which is not installed.
ly-test-tools 1.0.0 requires psutil, which is not installed.
ly-test-tools 1.0.0 requires pyscreenshot, which is not installed.
ly-test-tools 1.0.0 requires pytest, which is not installed.
ly-test-tools 1.0.0 requires pytest-mock, which is not installed.
ly-test-tools 1.0.0 requires pytest-timeout, which is not installed.
ly-test-tools 1.0.0 requires scipy, which is not installed.
ly-test-tools 1.0.0 requires six, which is not installed.
Call Stack (most recent call first): cmake/LYPython.cmake:267 (update_pip_requirements) CMakeLists.txt:36 (include)
Может нужно эту jinja2 подсунуть тому пытону что в сборке ?
|
|
|
19
|
Qt / Установка, сборка, отладка, тестирование / No module named Jinja2
|
: Февраль 07, 2022, 15:15
|
Добрый день "Собираю" большое приложение в котором шматки пытона. CMake вякает "No module named Jinja2" из py файла. Ну думаю, значит "не стоит" и надо ставить. PIP не катит, инета на машине нет. Ну скачал инсталляцию этой Jinja2, и что с ней делать? Куда керосин заливать? Ото понапихают всякого .. Спасибо
|
|
|
21
|
Qt / Пользовательский интерфейс (GUI) / Re: QSound::isFinished() - неоднозначность или так и должно быть?!
|
: Февраль 02, 2022, 07:52
|
QSound::isFinished() - возвращает true - проигрывание было выполнено до конца false - проигрывание было остановлено false - проигрывание продолжается
это более чем непонятно и неправильно Никогда не работал с QSound, но не вижу тут ничего ни непонятного ни неправильного. Музыка играет или нет? Да или Нет? Другие подходы возможны, напр добавить методы isPausing (еще играет но скоро нет) и/или isStarting (еще нет но скоро). Можно и метод типа getState(). Но все имеет свои минусы, во всяком случае в простом (и четком) isFinished нет ничего плохого. Ну и изучать подробности устаревшей матчасти - никому не нужно. За время что Вы потратили на написание постов - вполне можно собрать современный Qt и не раздражать людей "конспектом 4.8". А если этот барьер (сборка) Вам непосилен - то предлагать "что-то обсудить" еще рано.
|
|
|
22
|
Программирование / С/C++ / Re: Слияние диапазонов
|
: Январь 29, 2022, 11:24
|
Поиграйте с таким примером
Работает, с double не проверял, но верю. Все-таки этажерка из 3 хвункторов воспринимается тяжело. Хотя это общая проблема темплейтов. Пока "в теме" и это интересно - вроде ничего. Но если подзабыл, а особенно "не сам писал" - понять "замысел обобщения" трудно. У меня так получилось (аттач). Смысл такой C++ (Qt) auto it1 = std::lower_bound(beg, end, TPair(p.first, p.first)); auto it2 = std::lower_bound(beg, end, TPair(p.second, p.second));
В обоих случаях может "слиться" или найденный или предыдущий, ну или никакой. Да, и посоветуйте как (красиво) избежать "first" и "second", напр массив вместо пары Спасибо
|
|
|
24
|
Qt / Пользовательский интерфейс (GUI) / "Тяжелое" окно
|
: Январь 26, 2022, 09:11
|
Добрый день
Юзеру предъявляется список объектов. По hotkey или из меню открывается окно с параметрами выбранного объекта (назовем info window). Таких окон несколько для одного объекта. При выборе др объекта info window(s) автоматом переключается на выбранный. В общем, обычный browsing (если я верно употребляю это слово). Многие приложения показывают список и info(s) в одном окне, что имеет свои плюсы и минусы
И вот проблема - одно из info окон оказывается слишком тяжелым, грузит много данных и переключаться на него при смене выбора занимает неск секунд и больше. Недолго думая я сделал его модальным. Увы, быстро выяснилось что это не годится, нужен постоянный доступ к др окнам которые отображают сцену
Какие есть решения ?
Спасибо
|
|
|
25
|
Программирование / С/C++ / Re: Слияние диапазонов
|
: Январь 26, 2022, 07:34
|
С вектором "в лоб" решается, тупым пробегом итератором и сравнением по std::pair::first. Дальше сравнение по std::pair::second и логика "слияния". С double через задание точности, с какой точностью должны диапазоны пересекаться
Зачем тупой пробег если есть хотя бы lower_bound? Ну и тема посвящена "логике слияния", т.е. это совсем не "известная деталь/подробность". Задание точности для double - другая задача, здесь об этом речь не идет, напр пары { 5.0, 6.0 } + { 5.5, 9.0 } пересекаются при любой точности Наверно Вы имели ввиду получить диапазон всех пар пересекающих вставляемую. Это особо ничего не экономит, а проверяет все эл-ты (в отличие от lower_bound). И если диапазон пуст - куда вставлять? Ну в общем, так понимаю - в std готового нет. Я не удивлен, наверно такой алгоритм для std слишком сложен А вот с (пресловутыми) template интересно. Стали бы Вы обобщать? Заметим что логика слияния различна { 5, 6 } + { 7, 8 } = { 5, 8 } { 5.0, 6.0 } + { 7.0, 8.0 } = { { 5.0, 6.0 }, { 7.0, 8.0 } } Ой! Совсем забыл - есть же еще ИИ!!!
|
|
|
26
|
Программирование / С/C++ / Слияние диапазонов
|
: Январь 25, 2022, 11:14
|
Добрый день Нужно написать ф-цию собирающую диапазоны в порядке возрастания и объединяющую если они перекрываются C++ (Qt) using TPair = std::pair<int, int>; void AddRange( std::vector<TPair> & dst, const TPair & p ) { ... }
Как для новой пары(p) так и для всех эл-тов вектора гарантируется first <= second. Примеры ( {1, 2}, {8, 9 } } + {5, 5} = ( {1, 2}, {5, 5}, {8, 9 } } // перекрытий нет ( {1, 2}, {8, 9 } } + {5, 7} = ( {1, 2}, {5, 9 } } // объединение Ну и задача-максимум - то же для пар double, может даже удастся обобщить темплейтами. Конечно было бы замечательно "воспользоваться готовым", но где ж взять Спасибо
|
|
|
27
|
Программирование / Общий / Re: Хранение selection
|
: Январь 24, 2022, 14:18
|
Ну варианта у вас 2 - либо не кешировать индексы и перебирать при обращении. Либо кешировать и перебирать кеш индексов при изменении. Осталось понять какие операции выполняются чаще, какие реже и вуаля.
Первый вариант - то что сейчас. Второй - в чистом виде "корявая архитектура" (так говорят часто, понимают редко). Это надо надо найти все места где "меняется" и везде исправить. А сколько их и где они - хз даже в не таком уж большом проекте. И надо поддерживать это для всех новых "изменений". На это надо идти только в крайнем случае. Нет ли возможности кешировать автоматом/пулеметом ?
|
|
|
28
|
Программирование / Общий / Re: Хранение selection
|
: Январь 22, 2022, 06:17
|
нужна стабильность - храните вектор юников
Кстати всегда рассматриваю этот вариант когда завожу контейнеры. Типа Голый указатель - зло! Все должно быть юником или шаредом Или эта мода уже прошла? В данном случае (как и во многих других) никаких оснований для вумных указателей не увидел. Сделать юниками конечно нетрудно, но зачем притворяться что "делаем" если нет? Ну тогда можно хранить selection как weak - невелико достижение, к тому же, как всегда, нужно чистить сдохшие weak.
|
|
|
30
|
Программирование / Общий / Re: Хранение selection
|
: Январь 19, 2022, 11:52
|
что мешает сделать сет индексов?
А как его "засисять"? С указателями все просто - обеспечить удаление только из владельца (MyClass), там же вычеркнуть из selection
|
|
|
|
|