Что делать если нужно поставить какую-то Python-библиотеку а root-прав нет? То есть в систему библиотеку никак и ничего не поставить.
Есть как минимум два способа это решить правильно!
🔸 Сделать виртуальное окружение и ставить там что угодно.
Это позволит создать полностью независимое исполняемое окружение для ваших приложений.
Все библиотеки будут храниться в домашней директории юзера а значит доступ на запись имеется.
Создать очень просто:
python3 -m venv ~/venvs/myenvname
Теперь активируем окружение
# Linux
source ~/venvs/myenvname/bin/activate
# Windows
%userprofile%\venvs\myenvname\Scripts\activate.bat
Можно ставить любые библиотеки и запускать приложение.
Это стандартный метод работы с любым проектом. Если еще не используете его, то пора начинать. Даже при наличии root доступа!
🔸 Бывает, что нет возможности запустить приложение из своего виртуального окружения. Например, его запускает какой-то сервис от вашего юзера и вставить активацию окружения вы не можете.
В этом случае можно установить библиотеки для Python не глобально в систему, а только для юзера.
Выполните этот код в консоли:
python3 -m site
Вы получите что-то такое:
sys.path = [
'/home/user',
'/usr/lib/python37.zip',
'/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload',
'/home/user/.local/lib/python3.7/site-packages',
...
]
USER_BASE: '/home/user/.local'
USER_SITE: '/home/user/.local/lib/python3.7/site-packages'
ENABLE_USER_SITE: True
Нас интересует параметр USER_SITE. Это путь к пользовательским библиотекам, которые доступны по умолчанию, если они есть.
Именно сюда будут устанавливаться модули если добавить флаг --user при установке чего-либо через pip
pip install --user requests
Для этой команды не нужны root-права.
После неё можно запускать системный интерпретатор без виртуальных окружений и установленная библиотека будет доступна для текущего юзера.
Параметр USER_BASE показывает корневую директорию для хранения user-библиотек. Её можно изменить с помощью переменной окружения PYTHONUSERBASE
export PYTHONUSERBASE=~/pylibs
python3 -m site
...
USER_BASE: '/home/user/pylibs'
USER_SITE: '/home/user/pylibs/lib/python3.7/site-packages'
Получается некоторое подобие виртуального окружения для бедных 😁 которое можно менять через эту переменную (не делайте так!Лучше venv!)
🔸 Дописывание пути в PYTHONPATH
Этот способ не входит в список "двух правильных", но тоже рабочий. Здесь придётся сделать всё несколько сложней.
Сначала ставим библиотеку в любое место указывая путь установки
pip3 install -t ~/mylibs modulename
Библиотека установится без привязки к какому-либо интерпретатору. То есть по умолчанию не будет видна. Теперь в нужный момент добавляем этот путь в sys.path или в PYTHONPATH.
Не буду советовать так делать. Единственный раз когда этот способ мне пригодился и решил поставленную задачу, это при создании общей библиотеки для кластера компьютеров.
Модули лежат в сети и подгружаются для всех из одного и того же места. То есть обновлять файлы требуется только один раз а не на всех хосты отдельно.
Минусы такого подхода:
▫️Нужно всем хостам пробить нужный путь в .bashrc или ещё куда-то чтобы он сетапился на старте.
▫️Чем больше хостов тем больше нагрузка на сеть. Иногда такой способ не подходит именно по этой причине. Тогда Ansible вам в помощь.
▫️Не очень подходит если хосты с разными операционками. Некоторые библиотеки различаются для Linux и Windows (там, где есть бинарники) и приходится мудрить более сложные схемы.
#tricks#basic
Специалист отдела поддержки со знанием узбекского языка
#удаленно#узбекский#работа#premium#iGaming
В международную компанию на проектную работу требуется человек со знанием #узбекского языка для осуществления исходящих звонков / текстовых коммуникаций с пользователями из Узбекистана.
Вопросы по вакансии и ваше резюме направляйте, пожалуйста, в ТГ.
Пишите: @MarinadRec
➖➖➖➖➖➖➖➖➖➖➖➖
🚀 Разместить вакансию | рекламу
➖➖➖➖➖➖➖➖➖➖➖➖
Advent calendar, EP 2 with our CEO - Dan Andrianov🚀
As the CEO of TrueLab Games, I find solace in playing our game, Apple Crush, after a demanding day. For me, slot games serve as a form of meditation, offering a tranquil escape from daily stress and chaos.
The enchanting music and stunning graphics of Apple Crush create a serene atmosphere that helps me unwind. The game’s art style, reminiscent of Hayao Miyazaki’s gentle anime🌸, adds a layer of warmth and nostalgia, making it a perfect retreat into a magical world above the clouds.
During development, my main contributions were ensuring the team had a steady supply of coffee — and, of course, a few dad jokes to keep the mood light😊☕
If I were to make any changes, I’d consider adding more apples to the game to reduce its current high volatility, making the experience even more enjoyable🍎
What’s your go-to game to relax?
#TrueLabGames#AppleCrush#RelaxAndPlay#iGaming
iGaming Freelance Content Writers/Translators (Native Speakers)
#remote#удаленно#iGaming#content#writer#tango
We’re looking for iGaming Freelance Content Writers/Translators (Native Speakers).
Our digital holding is expanding and we’re looking for native Filipino speaking translators & writers for iGaming projects.
You’re a perfect fit if you have:
• 1+ year of proven experience in iGaming translation or content writing
• Solid understanding of iGaming terminology and cultural specifics of your region
• Native fluency in #Filipino + strong English (for reading source materials)
• Ability to start immediately and meet deadlines reliably
What you’ll do:
• Translate and localize website content (JSON format) from English
• Adapt texts considering cultural/linguistic nuances
• Proofread and edit content as needed
We offer:
• Fully remote freelance / part-time work
• Competitive rates (based on skills and experience)
• Interesting tasks and professional team support
• No test task – we trust your portfolio
Let’s connect!
⏺Apply: @IvanRecruiter
➖➖➖➖➖➖➖➖➖➖➖
🪩 Откликнуться быстрее других
➖➖➖➖➖➖➖➖➖➖➖
#vacancy#вакансия#BIAnalyst#igaming#Cyprus#Middle
Компания: Tribe
Локация и формат работы: только с территории Кипра (помогаем с визами, релокацией и тд.)
Позиция: BI Analyst (Middle)
Компенсация: 3000-3800 euro (netto)
Описание продукта и задач: Огромный и увлекательный продукт в сфере онлайн-развлечений от крупнейшего мирового холдинга в сфере igaming.
🔻Вы:
- от 2+ лет опыта в роли BI Analyst
- опыт работы со стеком: Tableau, SQL, СlickHouse, python, Greenplum (как плюс)
- soft-skills на отличном уровне
- позитив, юмор и рок:)
🔻Чем будете заниматься?
• Создание и администрирование дашбордов для мониторинга ключевых бизнес-метрик.
• Анализ данных для выявления закономерностей, трендов и аномалий.
• Автоматизация отчетности и построение эффективных визуализаций.
• Взаимодействие с бизнес-подразделениями для определения требований к аналитике.
🔻Мы:
- годовой бонус в размере оклада по результатам работы
- частичная компенсация стоимости квартиры до 750 Euro (после прохождения ИС)
- помощь с релокацией, оформлением визы для Вас и членов семьи
- беспроцентная рассрочка от компании
- оплачиваемый отпуск по законам Кипра
- оплачиваемый спорт
- частичная оплата английского
- корпоративное питание в офисе (завтраки, обеды)
- офисный спортзал
- оплата выставок, конференций
- технически сложные задачи и возможность развиваться как вертикально, так и горизонтально
📌контакт: @DzmitryS6
#foreign
#dashboard
#relocartion
No Suits. No Filters. Just real talk.
We're proud to announce that Simon Westbury, Strategic Advisor at 1xBet, will be speaking at SiGMA Euro-Med in Malta, September 1-3:
The panel session is entitled "No Suits, No Filters: The Real Talk from the Top – and takes place on Day 1 of the Show."
Simon shall be joined by:
Alexandre Tomic, Founder – Alea
Dmitry Starostenkov, CEO – EvenBet Gaming
Oliver De Bono, CEO – Quantum Gaming
The topic: What happens when the industry's key decision-makers step away from the boardroom script?
👉 Expect candid stories of learnings, near-misses, risk, resilience, and even the competitors they quietly admire.
This is one conversation you won't want to miss.
#1xBet#iGaming#IndustryLeaders#PanelDiscussion#SiGMA#BusinessLeadership