Что делать если нужно поставить какую-то 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
#dart
You can watch live streams simply on multiple platforms like Huya, Douyu, Bilibili, and Douyin using an app called Simple Live. It works on Android, iOS, Windows, MacOS, Linux, and Android TV, though some versions are still in beta. The app is built with Flutter and includes features to get live video and chat messages (danmaku) from these sites. You need to compile the app yourself since no ready-made installer is provided. This gives you a lightweight, easy way to watch live broadcasts from popular Chinese streaming platforms on many devices without extra cost or ads.
https://github.com/xiaoyaocz/dart_simple_live
#dart
The Flutter Packages repository on GitHub holds the source code for official Flutter packages made by the core team, including popular ones like camera, google_maps_flutter, and shared_preferences, all available for use in your apps and also published on pub.dev for easy installation[4]. This means you get reliable, well-maintained tools for features like maps, user preferences, and device hardware access, helping you build apps faster and with less worry about bugs or compatibility issues. The benefit is that you can trust these packages for quality and support, and you can even help improve them by reporting issues or contributing code[4].
https://github.com/flutter/packages
РУКОТВОРНЫЙРОЙ НЕБЕСНЫХ ВАЛУНОВ
Это глубокий снимок двойного астероида Дидим-Диморф, полученный КТ "Хаббл" 19 дек. 2022 г., спустя 3 месяца после столкновения с ударником миссии DART.
Здесь, помимо яркого и узкого шлейфа выброшенной в ходе рукотворного катаклизма пыли, идентифицировано 37 крупных, от 1 до 7 м, валунов (отмечены кружками). Эти объекты - в числе самых маленьких и тусклых (видимый блеск от 26-й до 28-й зв. вел.) из когда-либо фотографировавшихся в Солнечной системе.
Это - не осколки удара; камни уже лежали на поверхности астероида, но были выброшены в космос энергией столкновения и отдаляются от материнского тела на скоростях ~30 см/с. Как отмечается в пресс-релизе НАСА, это можно сравнить со скоростью гигантской черепахи.
Миссия ЕКА "Hera", которая сблизится с системой в конце 2026 г., сможет сфотографировать эти валуны с близкого расстояния.
Научная статья с результатами
#DART#Hera#Dimorphos
🚀 Менторство по Flutter + AI
Делаем реальное AI-мобильное приложение. Полностью удалённо.
Языки: EN / УКР / RU
Что получите:
• Индивидуальное наставничество 1:1 с сеньорами
• Парное программирование, код-ревью, быстрый рост
• Сильный кейс в портфолио
• Перспектива обсудить оплачиваемую работу позже
Стек: Flutter/Dart, AWS, Git, Jira + Scrum
Условия: сейчас без оплаты (фокус на обучении и портфолио)
Как откликнуться — DM @glorymlory:
1. ваш @username
2. 2–3 предложения о текущем стеке/опыте (Flutter или смежное)
3. ваша недельная доступность (часы)
#Flutter#Dart#AI#Mentorship#Remote
#dart#capture_traffic#httpdebug#proxy#proxypin#zhuabao
ProxyPin is a free, open-source tool that lets you capture, inspect, and modify HTTP(S) traffic on many devices like Windows, Mac, Android, iOS, and Linux. It’s easy to use with a nice interface and supports features like scanning QR codes to connect devices without manual setup, filtering traffic by domain, searching requests, rewriting or blocking requests, and saving traffic history. You can also write JavaScript scripts to customize how requests and responses are handled. This helps you debug network issues, analyze app traffic (including Flutter apps), and improve security or performance efficiently across platforms[1][3].
https://github.com/wanghongenpin/proxypin
#dart#android#flutter#flutter_apps#manager#modding#patching#revanced
ReVanced Manager is an app for Android that lets you customize and patch other apps, like YouTube, to remove ads and add features without needing subscriptions. It is easy to use, works on both rooted and non-rooted devices, and offers many options to tailor apps to your liking. You download the official app, then apply patches you want, creating a personalized, ad-free experience. This saves you money and improves app use while staying legal and supported by an active community. It is lightweight, regularly updated, and has a simple interface, making app customization safe and convenient[1][3][5].
https://github.com/ReVanced/revanced-manager
#dart#android#cross_platform#expense_tracker#flutter#grocery_list#ios#kitchenowl#mobile_app#recipe_manager#self_hosted
KitchenOwl is a helpful app for managing your grocery shopping and recipes. It allows you to create and share shopping lists with others, which is great for families. You can also store and share recipes, plan meals, and track how much you spend. The app is open-source and free, meaning you can use it without paying and even help improve it. It works on many devices, including phones and computers, and can be used offline too. This makes shopping easier and helps you stay organized.
https://github.com/TomBursch/kitchenowl
#dart#clash#clashmeta#ech#hysteria#hysteria2#proxy#reality#shadowsocks#shadowtls#sing_box#singbox#ssh#tuic#v2ray#vless#vmess#wireguard#xray
Hiddify is a free, ad-free, open-source proxy VPN app for Android, iOS, Windows, macOS, and Linux. It uses Sing-box to support protocols like Vless, Reality, Hysteria, TUIC, WireGuard, and SSH, with auto node selection by delay, subscription updates, TUN mode, and traffic info. Download from app stores or GitHub. It benefits you by providing secure, fast, private internet access to bypass restrictions in places like Iran or China, ensuring unrestricted browsing without costs or ads.
https://github.com/hiddify/hiddify-app