Что делать если нужно поставить какую-то 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
Что происходит, когда три тимлида находят свободный слот в календаре?
🚀Рождается подкаст!
«Свободный слот» — это честный разговор наших лидов — Саши Прокшиной, Саши Афёнова и Паши Федотова о том, что не всегда попадает в учебники, но с чем точно сталкивается каждый, кто управляет командами, продуктами и процессами. Без воды, с честной рефлексией.
В гости ребята зовут и других руководителей разработки — чтобы свериться по болям, взглядам и практикам.
Подкаст и телеграм-канал точно будут кстати тем, кто:
🔍 только начал путь к менеджерству и ищет поддержку или мнения тех, кто уже давно в это роли;
🔍 недавно стал лидом и хочет почувствовать, что он не один;
🔍 давно в роли, и хочет инсайтов, рефлексии и роста.
Слушать подкаст в удобном формате вот тут, а подписаться на канал — вот тут.
#tl
#TL
某位大佬在各内站发布的官窑被大规模砍树,在贴吧回应称“与Torrentleech已正式停止一切关系。对被砍树ban号的各位表示真诚抱歉。”
根据几个内站邀请区帖子回复数统计,这次砍树至少影响了上千人。在 IRC 尝试申诉的用户全部接到了管理员的统一回复:“Your inviter violated our terms regarding trading/selling invites, and because of this, your account has also been disabled. This is final. Only get your invites from a trusted source.”
但更多的人相信这次事件是一次管理内斗,涉嫌交易只是管理员的一个理由。
欢迎知情大佬补充相关情况。
原文链接: http://tieba.baidu.com/p/7465441078#/
#torrentleech#TL
Unsecured Jackett and -arr Apps (Sonarr, Radarr etc.)
Over the past few weeks we have been seeing an increase in unsecured Jackett and -arr Apps (Sonarr, Radarr etc.). Apparently some users are installing these applications on their seedboxes without also adding any form of authentication like a password. This is a security risk for Torrentleech and we are actively disabling accounts that have such an unsecured installation with their credentials for Torrentleech up for grabs. If you are using any such applications then please double check that you have some form of security enabled.
For most of these applications you can do so by going into Settings, then General and change Authentication to "Basic". If you are unsure then please contact your seedbox provider, our FLS will not be actively helping with such installation issues as we do not have access, nor the knowledge of how each and every provider has setup their security. In general you should always use a password for any application that is accessible via the web.
«Знаете, что звучит ещё круче, чем AvitoTech?
AvitoTechno!»🔥
Подумали мы, и собрали мега крутую, верховную онлайн-вечеринку уходящего рабочего 2025 для всего ИТ-комьюнити!
В последнюю рабочую пятницу 26 декабря выдыхаем, собираем коллег и врываемся к нам на стрим AvitoTechno!
В лайн-апе:
🕚сеты от разработчиков Dj команды AvitoTech;
🕚крышесносное выступление BÖRIS REDWÄLL;
🕚и девчонок из LAVBLAST.
А ещё во время вечеринки проведём розыгрыш лимитированного AvitoTechno-бокса (внутри свитер, снежный шар с нашим котиком Б/У, шапка и обвес).
Главный вопрос: как попасть на AvitoTechno и поучаствовать в розыгрыше?
Бегом в бот за бесплатным билетом и ссылками на стрим!
И коллегам не забудьте отправить этот пост.
🚀 Затусим вместе на AvitoTechno!
#tl#backend
Это что, наша первая конфа для лидови менеджеров?
Да! И пройдёт она 3 октября в Москве.
Собрали доклады про лучшие практики управления командами и процессами от экспертов Авито, интерактивные зоны, где можно погрузиться в нашу менеджерскую культуру, воркшопы и куча возможностей для нетворка.
И вот о чем поговорим:
— о лидерстве и развитии до C-level;
— об AI: как он трансформировал роль тех.руководителей и изменил управление командами;
— об адаптивности и процессах в меняющемся мире;
— о людях и эффективных отношениях с командами.
Пока раскрыли не все карты
😎
Поэтому следите за апдейтами здесь и на сайте.
Самое главное — анонсируем заранее, потому что количество мест ограничено!
Стать первыми участниками
#tl#avitotechconf
❗️ Какими бы сложными не были решения, главное — принять их с defer recover()
Шутим, конечно! А, если серьезно, в новом выпуске «Свободного слота» говорим про то, с чем сталкивается каждый тимлид — непростые решения, которые приходится принимать: от переноса большого релиза до тяжелых увольнений.
Как действовать в этих ситуациях разбираемся с Олегом Федоткиным, CTO в Циан и автором канала «Инженер и менеджер». А ещё обсуждаем:
🔍 Что делать, если в команде назревает конфликт?
🔍 Как говорить «нет»?
🔍 Где проходит граница между поддержкой и жёстким решением?
🔍 Как оставаться устойчивым в стрессе?
Смотреть и слушать:
📺Ютуб
🔵ВК Видео
🎧 Mave
#tl#свободный_слот
#torrentleech#TL#人才招募
Hello TLers!! We are looking for few dedicated members to join our First Line support team, so If you meet the needed requirements drop GareTuup a PM or come to IRC and have a chat with him!
Before you apply, please note the following:
You will need to use IRC and idle in the Help channel to deal with user issues
You will have to check torrent comments
You will need to support the Moderators in their work on the site
Good understanding of English is needed! In case you also talk another language, just let us know as this is always needed!
Enjoy the site!
☄️Если вы знаете, что такое ZX Spectrum, IBM, и даже «Фаэтон-1»
То сейчас вас охватит приступ ностальгии, а рука сама потянется к детским альбомам или …Dendy! В честь наступающего Дня разработчика решили вспомнить, с чего начинались первые шаги в IT авитовцев. В карточках — только часть историй, а все-все-все можно прочитать здесь. Только осторожно, там ооочень залипательно!
В комментариях поздравляйте и отмечайте коллег и, конечно, делитесь своими историями/фотографиями cо своими первыми гаджетами ⬇️
package main
import "fmt"
func main() {
fmt.Println("Поздравляем с Днём разработчика! 🎉")
#frontend#backend#go#tl