Что делать если нужно поставить какую-то 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
🏗 Canggu is getting its first shopping mall
📍 The Canggu Hills project, located along the Canggu–Pererenan road, is set to host the area’s first full-scale mall.
🛍 The two-story complex will accommodate around 200 tenants and follow an outdoor mall concept — more like an open-air shopping district rather than a traditional enclosed mall.
🏘 Canggu Hills itself is designed as a mixed-use development, combining residential and commercial spaces.
📆 The planned opening is June 2028.
#places#Canggu@BaliNews
🛵 Bali plans to change traffic patterns in Berawa and Canggu
ℹ️ The focus is on key roads, beach access routes, and popular shortcuts. Authorities aim to redistribute traffic flows to reduce congestion and make movement more balanced.
The LLAJ forum — a local traffic council — will be involved in developing the new system. Testing is planned before implementation, so no exact timeline has been announced yet.
The updated scheme will include not only main roads but also widely used shortcuts.
📍 A similar model has already been tested and implemented in Kerobokan and Seminyak. No timeline for Canggu yet – calculations and a trial phase will come first.
#roads#projects#Canggu@BaliNews
🪩Morabito presents Bombossa Brothers
📍 Morabito Art Villa, Canggu
📅 Friday, February 28
⏰ 6:00 pm
Bombossa Brothers are twins with two interesting personalities and one mission: to entertain as many people as possible with their groovy melodic sound. Over the past couple of years, they have built up their reputation as a duo to watch by playing around the world and expanding their Momentum event series, hosting up to 2000 people in their hometown of Tallinn, Estonia.
🎫Tickets at the link from 250.000 IDR.
@BaliNews
#wheretogo#parties#Canggu
🚤A boat dock will be built at the airport in Canggu
📰 A sea route from the airport to c will appear in Bali. The new dock between Canggu and Chemagi is scheduled to begin operating in 2026, but the first water taxis are planned to be launched in test mode as early as the end of 2025.
👍 The boat trip from the airport to Canggu will take 15 to 30 minutes and will help avoid traffic jams.
#goodnews#places#transport#Canggu@BaliNews
🎬 Movies watching at Alternative Beach
📍 Alternative Beach in Bali’s newest unique daytime hangout, right in the heart of Canggu.
June 19 – Mickey 17
June 23 – The Union
June 26 – Fly Me to the Moon
🆓 The event of free of charge.
📲 Details and reservation are on the official website.
#wheretogo#events#free#Canggu@BaliNews
🍹The Bali Cocktail Festival 2025 has opened in Bali
📍 The Bali Cocktail Festival 2025 kicked off today at Atlas Beach Club on Berawa Beach and will run until June 8.
🍸 Guests can enjoy pop-up bars, guest sessions with Balinese and international mixologists, cocktail battles, and flair competitions. The cocktails feature Balinese rum, arak, and classic recipes with an island twist.
#wheretogo#events#festivals#Canggu@BaliNews
📍Finns Recreation Club closes for a year
📰 The popular sports and entertainment center Finns Recreation Club has announced a temporary closure for a major renovation.
📆Starting April 1, 2025, the club will suspend operations for 14 months to transform into a global center for fitness, wellness and entertainment.
ℹ️ The Finns Recreation Club renovation is not just a facelift, but a global transformation with an investment of more than $15 million dollars.
🔎 By the way, from March 9 to 11, the club will host a number of events (shown in the photo above) among which there are even free events. More details on the club's website.
@BaliNews
#places#wheretogo#events#free#sport#Canggu