Подробнее
Чтобы сыграть безумного персонажа с клинической депрессией в «Джокере», Хоакину Фениксу приходилось целыми днями устанавливать библиотеки для С++.
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
ты пропускаешь пункт компиляции библиотеки под конкретную систему. А потом, когда код написан, еще и билд этой библиотеки в релиз программы, под целевую платформу. Это уже отдельные танцы с бубном.
Это там, где пакетный менеджер ставит зависимости глобально на систему, не умеет в per-project зависимости, из-за чего нагородили целую кучу костылей (venv, virtualenv, pyenv, conda итп), при удалении пакетов не умеет разрузилвать и удалять зависимости? Да?
Сегодня я ставил jupyter и он не установился из-за того, что до этого была установлена какая-то богомерзкая хуйня для генерации документации с sphinx, которая вызвала конфликт версий каких-то зависимостей.
Давайте так, пакетные менеджеры для js, rust, c#, ruby итп работают per-project из коробки, что в питоне создаётся костыльми, с возможностью отстрела ног при установке глобально.
Отвечу цитатой с реддита: Welcome to the big leagues, where there are approximately 74 different build systems and a patchwork framework of 28 various package managers, most of which only support a certain platform/environment and are useless outside of it.
Поехали:
1. Под плюсов пакетных менеджеров нет (даже убогих, как у питона). Да, есть ряд реализаций, но все они несовместимы друг с другом
2. Если под linux, то библиотеки можно поставить через пакетный менеджер дистрибутива (если они есть в репозиториях). Если ты не наткнешься на конфликт версий.
3. Если ты под виндой - страдай, плачь, настраивай 50 тыщ переменных окружения и тыкой мышкой в VS
4. Если библиотека бинарная и без исходников, то страдай х2. Если она собрана под другую версию компилятора - страдай бесконечно.
5. Потом все это дерьмо нужно интегрировать в свою систему сборки. Например, у тебя CMake, а библиотека - Makefile (ну это изян). Могут быть куда более хитрые случаи.
6. Ну и да, если ты под виндой, п.5 удваивает боль
One morning you wake up find out you have access to God’s developer console. What’s the first thing you do with this power?
Discussion
♦ 154 + W 479 & Share
^ BEST COMMENTS ▼
I like forks • 5h
hehe3301 • 7h
sudo rm -rf oceans/*/contents/
*.plástic
sudo rm -rf people/*/*.cáncer sudo rm -rf v
10 Awesome 'Десять безумных изобретений |Ножницы с лазерным прицелом Винные тарелки Наушники - молнии Кетчупопушка Ремень - измеритель талии Turn the handle on the side of the bench and the seal wfl rotate to e>pose the dry sido of the seat, ana you wll Do аЫе to srt wtnout
Где Деструктор этого класса? Говори где он, где он? Ты не мог передавать его параметром изнутри.
Просто непосвящённые:
Сегодня я ставил jupyter и он не установился из-за того, что до этого была установлена какая-то богомерзкая хуйня для генерации документации с sphinx, которая вызвала конфликт версий каких-то зависимостей.
Зависимости не удаляет, это да, это печаль. При особенно запущенных случаях проще окружение переставить.
Welcome to the big leagues, where there are approximately 74 different build systems and a patchwork framework of 28 various package managers, most of which only support a certain platform/environment and are useless outside of it.
Поехали:
1. Под плюсов пакетных менеджеров нет (даже убогих, как у питона). Да, есть ряд реализаций, но все они несовместимы друг с другом
2. Если под linux, то библиотеки можно поставить через пакетный менеджер дистрибутива (если они есть в репозиториях). Если ты не наткнешься на конфликт версий.
3. Если ты под виндой - страдай, плачь, настраивай 50 тыщ переменных окружения и тыкой мышкой в VS
4. Если библиотека бинарная и без исходников, то страдай х2. Если она собрана под другую версию компилятора - страдай бесконечно.
5. Потом все это дерьмо нужно интегрировать в свою систему сборки. Например, у тебя CMake, а библиотека - Makefile (ну это изян). Могут быть куда более хитрые случаи.
6. Ну и да, если ты под виндой, п.5 удваивает боль