Что делать если нужно поставить какую-то 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
О витальности
В психологии существует понятие витальности, определяемое, как и многие подобные явления, довольно расплывчато: жизненные силы, уверенность в себе, стремление вперёд и проч. Тем не менее, оно более чем подходит для описания ряда цивилизационных процессов современности.
Европейцы (в широком смысле, т. е. включая РФ и США) по-прежнему остаются самым обеспеченным и образованным слоем населения, своеобразным «золотым миллиардом», только без конспирологического наполнения этого термина.
Однако с XX в. общеевропейский нарратив — «платить и каяться» за витальность своих предков. В ЕС и США это проявляется, главным образом, в BLM-повестке. В России после Октябрьской революции этот же процесс принял вид борьбы большевиков с «великодержавным русским шовинизмом».
В свою очередь, исламская цивилизация переживает рост витальности. Он проявляется в расширении подконтрольного пространства (дар аль-ислам) и установлении собственных порядков (напр. митинг за халифат в Гамбурге, недавние фетвы ДУМ, за которые Генпрокуратура уже вынесла представление).
Спустя годы войны против терроризма аш-Шараа aka аль-Джулани — рукопожатный «временный президент», а «Талибан» исключён из списка террористов. Великие державы теперь вынуждены считаться с их властью над Сирией и Афганистаном соответственно, несмотря на длительные собственные усилия по установлению там порядка в 2000—2020-х гг.
Всё это, пусть и в разных проявлениях, отражает общую историческую тенденцию: европейско-христианская цивилизация находится в упадке, мусульманская — на подъёме. Благодаря относительно высокому уровню комфорта, данный процесс может не беспокоить европейского обывателя.
Именно поэтому так важно самосознание и мироощущение человека, и я также стараюсь заострять на этом внимание. Будущее Европы и мира во многом зависит от того, успеет ли такой обыватель восстановить свою витальность.
@epigonous | #tldr
#TLDR: 𝐖𝐡𝐚𝐭’𝐬 𝐧𝐞𝐰 𝐢𝐧 𝐌𝐎𝐌’𝐬 𝐂𝐎𝐒 𝟐𝟎𝟐𝟔? 👀
Here are the top 5 things you should know. Stronger support for workers, more inclusive workplaces, and measures to help businesses transform and grow. 💼💪
➡️ Find out what this means for you: go.gov.sg/momcos2026
Delivered:
Наиподробнейшая инструкция по сборке 75-ваттного лазера с себестоимостью <250$.
Сокращённая версия для продвинутых электронщиков и лазеристов - в комментариях.
Во имя Прометея и во славу Омниссии, прошу - поделитесь этим постом везде, уважаемые коллеги.
#diy
#tldr
#comments
Теперь надо будет ещё смонтировать видеоверсию.
Because we have seen an uptick in people trying to scam others allover the web, we like to remind everyone to stay safe online. Here are a few things that could in fact help you.
● Be careful what you click. Don’t open links or attachments from strangers or suspicious emails.
● Use strong passwords with letters, numbers, and symbols.
● Use a password manager to keep passwords safe and easy to use.
● Keep devices updated and use good antivirus software.
● Don’t share personal info like your address, birthday, real names, workplaces, or locations online.
● Think before you post—anything online can stay forever.
● Watch out for fake profiles and don’t trust people you don’t know.
● Teach kids to spot scams, avoid cyberbullying, and be polite online.
● Backup important data regularly to protect it from malware.
● Close old accounts you don’t use anymore.
● Only download apps or files from trusted sources.
● Use two-factor authentication (2FA) for extra security on your accounts.
● Avoid using public Wi-Fi for sensitive activities like banking.
● Log out from accounts when using shared or public devices.
● Don’t accept friend or follow requests from people you don’t know.
● Be cautious about what apps you allow to access your personal info or location.
● Report any suspicious or harmful behavior to the platform admins or an adult you trust.
Stay alert, stay safe, and let’s keep our online community secure together! We know there is much more to it, feel free to share your wisdom or experiences in the comments.
[Learn more1]
[Learn more2]
@googlefactss
#OnlineSafety🔒#StaySafeOnline🌐#PasswordSecurity🔑#CyberSecurity🛡️#ProtectYourData📱
#TLDR😜
#markdown#android#bsd#cheatsheet#cheatsheets#command_line#console#documentation#examples#hacktoberfest#help#linux#macos#man_page#manpages#manual#osx#shell#terminal#tldr#windows
The tldr-pages project offers simple, easy-to-understand help pages for command-line tools, focusing on practical examples rather than long, complex manuals. It’s great if you’re new to the command line or forget command options, as it shows the most useful commands clearly. You can access these pages through various clients or online without installing anything. This saves you time and frustration by giving quick, clear guidance on common tasks, making it easier to learn and use command-line tools effectively. Plus, you can contribute by adding or improving pages yourself. This helps you and others get fast, practical help with commands[1][4].
https://github.com/tldr-pages/tldr