#advanced #development #warcraft #ai #voiceover #addons #habr #articles #python #games #tts #pytorch
На хабре новую статью написал, можно почитать, о том как я World Of Warcraft по-русски заставлял говорить
https://habr.com/ru/articles/818513/
Здравствуйте-здравствуйте, играю я значит в классический World of Warcraft и понимаю, что игра тосклива из-за отсутствия более-менее озвученных квестов. Конечно, инди-студия Метелица не способна озвучить всю свою игру, да и понятно, что сюжет развивается, а люди имеют свойство менять работу или, да это печально, физической гибели, как например случилось с озвучкой Артаса Менетила в Warcraft III: Frozen Throne.
В общем, заваривайте чай, как и все мои предыдущие публикации, эта статья в формате (б|в)лога.
На хабре новую статью написал, можно почитать, о том как я World Of Warcraft по-русски заставлял говорить
https://habr.com/ru/articles/818513/
Здравствуйте-здравствуйте, играю я значит в классический World of Warcraft и понимаю, что игра тосклива из-за отсутствия более-менее озвученных квестов. Конечно, инди-студия Метелица не способна озвучить всю свою игру, да и понятно, что сюжет развивается, а люди имеют свойство менять работу или, да это печально, физической гибели, как например случилось с озвучкой Артаса Менетила в Warcraft III: Frozen Throne.
В общем, заваривайте чай, как и все мои предыдущие публикации, эта статья в формате (б|в)лога.
🔥2
#all #development #python #packages #environment #dependencies #pip #pipx #conda #poetry #pyflow #pdm #venv
Какие способы работы с пакетами в Python вы знаете?
Да и вообще зачем всё это надо?
Смысл в том, что проекты редко делаются без стороннего набора библиотек, особенно, когда строите что-то поверх фреймворков. Так и выходит, что каким-то образом надо следить чтобы зависимости находились в одном месте и их можно было подтягивать вне зависимости от разработчика и среды окружения. Будь это другой разработчик на другой ОС или же CI/CD-агенты.
Если не использовать менеджеры пакетов/зависимостей, тогда всё будет храниться в вашем общем кеше, да и другое окружение/разработчик просто-напросто не будет знать какие версии и каких пакетов ставить.
Что есть в Питоне?
Во-первых,
collapsed:: true
установка -
установка конкретных версий -
установка из конкретных registries, множества пакетов, а также с привязкой к версии питона -
удаление -
листинг -
через файл с указанием версий, например так:
И последующая установка
Или удаление
Но пакеты по-прежнему будут кешироваться, а значит нужно еще и пользоваться виртуальным окружением, чтобы использовать конкретную директорию
Единожды создаёте эту самую директорию,
А далее, каждый раз в вашем терминале в папке проекта вызывайте
Во-вторых,
Во-третьих,
Есть там еще приколу вроде inject-а зависимостей, например
Чтобы доставить
В-четверых,
А далее в
И можем собирать
В-пятых,
Создание виртуальных окружений
Использование окружения
И установка разумеется
В-шестых,
Старт проекта -
Установка зависимостей
В-седьмых,
По сути на большей части проектов используется обычный `pip`, `pipx` или `poetry`
Что интересно, это то, что коммьюнити питона-петона-удава-петухона никак не можем договориться делать что-то одно, хотя тот же javascript тоже в ту же степь пошел, теперь там `yarn`, `npm`, `pnpm` и имхо из-за вендорства Microsoft над Typescript скоро будет `nuget`, хотя ЕМНИП npm теперь тоже им принадлежит
Какие способы работы с пакетами в Python вы знаете?
Да и вообще зачем всё это надо?
Смысл в том, что проекты редко делаются без стороннего набора библиотек, особенно, когда строите что-то поверх фреймворков. Так и выходит, что каким-то образом надо следить чтобы зависимости находились в одном месте и их можно было подтягивать вне зависимости от разработчика и среды окружения. Будь это другой разработчик на другой ОС или же CI/CD-агенты.
Если не использовать менеджеры пакетов/зависимостей, тогда всё будет храниться в вашем общем кеше, да и другое окружение/разработчик просто-напросто не будет знать какие версии и каких пакетов ставить.
Что есть в Питоне?
Во-первых,
pip, который можно использовать в следующем виде:collapsed:: true
установка -
pip install torchустановка конкретных версий -
pip install torch==2.2установка из конкретных registries, множества пакетов, а также с привязкой к версии питона -
pip3.10 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118удаление -
pip uninstall torchлистинг -
pip show torchчерез файл с указанием версий, например так:
# requirements.txt
torch==2.2
И последующая установка
pip3.10 install -r requirements.txtИли удаление
pip3.10 uninstall requirements.txtНо пакеты по-прежнему будут кешироваться, а значит нужно еще и пользоваться виртуальным окружением, чтобы использовать конкретную директорию
Единожды создаёте эту самую директорию,
python -m venv .venvА далее, каждый раз в вашем терминале в папке проекта вызывайте
. .venv/bin/activate, чтобы питон знал, что сейчас он работает с локальными модулями вместо глобальныхВо-вторых,
pipx, который делает тоже самое что и pip, но уже сразу с venvВо-третьих,
poetry, который еще и в сборку умеет и в отслеживание зависимостей и огромную кучу всегоpipx install poetry==1.2.0Есть там еще приколу вроде inject-а зависимостей, например
pipx inject ipython matplotlib
Чтобы доставить
matplotlib к ipythonВ-четверых,
setuptools в роли такого же file-based указателя зависимостейpip install setuptoolsА далее в
pyproject.toml указываем зависимости
[project]
name = "mypackage"
version = "0.0.1"
dependencies = [
"requests",
'importlib-metadata; python_version<"3.10"',
]
И можем собирать
python -m buildВ-пятых,
conda, с лицензией BSD, между прочимСоздание виртуальных окружений
conda create -n digitable python=3Использование окружения
source activate digitableИ установка разумеется
conda install numpyВ-шестых,
pdm, мне он нравится большеСтарт проекта -
pdm initУстановка зависимостей
pdm add requests flask
В-седьмых,
pyflow, на его вдохновении был создан pdm работает по сути также как и pipx, список команд такой же примерноПо сути на большей части проектов используется обычный `pip`, `pipx` или `poetry`
Что интересно, это то, что коммьюнити питона-петона-удава-петухона никак не можем договориться делать что-то одно, хотя тот же javascript тоже в ту же степь пошел, теперь там `yarn`, `npm`, `pnpm` и имхо из-за вендорства Microsoft над Typescript скоро будет `nuget`, хотя ЕМНИП npm теперь тоже им принадлежит
#docs #python
Ссылки для публикации
Доки по pip: https://pip.pypa.io/en/stable/installation/
Доки по pipx: https://github.com/pypa/pipx
Доки по venv: https://docs.python.org/3/library/venv.html
Доки по poetry: https://python-poetry.org/
Доки по setuptools: https://pypi.org/project/setuptools/
Доки по conda: https://conda.io/projects/conda/en/latest/user-guide/getting-started.html
Доки по pdm: https://github.com/pdm-project/pdm
Доки по pyflow: https://github.com/David-OConnor/pyflow
А если хочешь чаще читать наши публикации и быть в курсе вообще всего, то для доступа к нашим публикациям переходи в канал @digitable_blog
А еще если вам понадобилась карьерная консультация, подготовка к интервью или настройка чего-либо, или даже, например, парсер/скраппер на питоне то можно ознакомиться с услугами в нашем магазине https://digitable.ru
Ставьте Ваши реакции и задавайте вопросы в комментариях, они помогают стать нам лучше!
Have a fun!
Ссылки для публикации
Доки по pip: https://pip.pypa.io/en/stable/installation/
Доки по pipx: https://github.com/pypa/pipx
Доки по venv: https://docs.python.org/3/library/venv.html
Доки по poetry: https://python-poetry.org/
Доки по setuptools: https://pypi.org/project/setuptools/
Доки по conda: https://conda.io/projects/conda/en/latest/user-guide/getting-started.html
Доки по pdm: https://github.com/pdm-project/pdm
Доки по pyflow: https://github.com/David-OConnor/pyflow
А если хочешь чаще читать наши публикации и быть в курсе вообще всего, то для доступа к нашим публикациям переходи в канал @digitable_blog
А еще если вам понадобилась карьерная консультация, подготовка к интервью или настройка чего-либо, или даже, например, парсер/скраппер на питоне то можно ознакомиться с услугами в нашем магазине https://digitable.ru
Ставьте Ваши реакции и задавайте вопросы в комментариях, они помогают стать нам лучше!
Have a fun!
GitHub
GitHub - pypa/pipx: Install and Run Python Applications in Isolated Environments
Install and Run Python Applications in Isolated Environments - pypa/pipx