Что делать если нужно поставить какую-то 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
Moskva metrosi koʻrsatkichlari sotuvda
Artemiy Lebedev va Meduza yozishicha, Moskva metrosi eski koʻrsatkichlarini sotuvga qoʻygan va muvaffaqiyat bilan sotyapti. Narxlari 1500 dan 10 000 rublgacha (180 000‑1 200 000 soʻm). Bu yerdan sotib olinadi: http://www.mosmetro.ru/box/
Quyidagi fotodagi koʻrsatkich 7500 rubl turarkan (901 000 soʻm).
Toshkent metrosi ham shu tajribani qoʻllashi tarafdoriman. Dizayni qanaqa boʻlishidan qatʼi nazar, metro tarixining bir qismiga ega boʻlish uchun nechadir yuz ming soʻm sarflaydigan odamlar topiladi. Hatto, “Ogoh boʻling” kabi ogohlantirishlarni sotib olish ham qiziq.
Umuman olganda, Toshkent metrosi eng kamida qilishi lozim boʻlgan ish — muzey ochish. Shu kabi hamma belgilarni, koʻrsatkichlarni, vagonlarni, tarixiy fotolar, metro sxemalari bilan tanishish orqali qiziqarli vaqt oʻtkazish mumkin. Nyu-York shahri transport muzeyidan oʻrnak olsak boʻladi. Magazinida kitob-daftarlardan tortib idish-tovoqlargacha sotiladi.
P.S.: Moskva metrosining yangi koʻrsatkichlari Moskvadagi transport navigatsiyasi yagona sistemasining bir qismi hisoblanadi.
P.P.S.: Artemiy Lebedev Studiyasi Moskva shahri uchun yetarlicha ish qilgan. Tanishib chiqish foydali: https://www.artlebedev.ru/city/moscow/
#metro
Delhi Government has approved an Expansion of the city’s #Metro Rail network, with plans to add over 97 km of new lines and 65 stations across seven Corridors under the Phase V (B) plans #Infra
Union Cabinet has approved Jaipur Metro Phase-2, a 41 km long North–South corridor from Prahladpura to Todi Mod, comprising 36 stations, at a total project cost of ₹13,037.66 crore.
The project will be implemented by Rajasthan Metro Rail Corporation Limited (RMRCL), a 50:50 joint venture of the Government of India and the Government of Rajasthan. #Infra#Metro
Die TIEFSTE U-Bahn in Russland liegt in… St. Petersburg! 🚇
Warum so tief?
Unter der „Stadt der Flüsse und Kanäle“ liegen feuchte, instabile Bodenschichten, Treibsand und versteckte Grundwasserströme.
Die Tunnel müssen bis in eine stabile Lehmschicht hinabreichen – was aufwändiges Gefrieren des Bodens und spektakuläre Tiefbaukunst erfordert.
Rekord-Station 🎢
„Admiraltejskaja“ liegt ganze 86 Meter unter der Oberfläche – und führt über die längste Rolltreppe der Welt (137,4 m) hinab. Sogar eine zweite Rolltreppe ist nötig, um bis zum Bahnsteig zu gelangen!
Eine ingenieurtechnische Meisterleistung unter schwierigsten geologischen Bedingungen 🇷🇺
#RusslandEntdecken#welcometoRussia#DiscoverRussia#Metro
📸 Getty Images
🪆Fenster nach Russland
Давлатимиз раҳбарига Тошкент метрополитенини ривожлантириш бўйича режадаги лойиҳалар юзасидан ахборот берилди.
—
Главе государства представлена информация о запланированных проектах по развитию Ташкентского метрополитена.
#Mirziyoyev#taqdimot#transport#metro
Prezident.uz|Facebook|Instagram|YouTube|X
🚇Construction of the Bali metro has begun - prices and first details have been revealed
Last week Bali officially began construction of the first section of the subway, which will connect the airport with the Kuta district.
The metro, according to the authorities, will be laid at a depth of 30 meters, and the project promises to be completed by 2028.
Preparatory work is now underway. In April 2025 they promise to bring boring rigs and start tunneling.
Even more interestingly, toll prices have been announced for the first time. The subway will be free for locals with Balinese residency, while foreign tourists will be charged $40 per week.
With this math, if all 7 million tourists a year buy tickets, the payback on the project will be more than 100 years. This is not the most favorable investment proposal, given that the project was originally planned to be built with private financing.
@BaliNews
#metro#transport#airport#Kuta
🚇 Anul acesta, Metroul din Moscova sărbătorește 90 de ani!
În anul 1935 — 11 stații, puțin peste 11 kilometri de linie și sute de priviri entuziasmate coborând într-o lume complet nouă, sub pământ.
Astăzi, Metroul din Moscova înseamnă:
🔹 271 de stații, dintre care 40 sunt monumente ale patrimoniului cultural,
🔹 aproximativ 450 de kilometri de linie,
🔹 zilnic — peste 7 milioane de pasageri.
Metroul din Moscova este cartea de vizită a orașului. Capodopere arhitecturale subterane, coloane din marmură, mozaicuri, stucaturi și vitralii — pentru toate acestea, stațiile din Moscova sunt numite „palate subterane”.
🌍 Metroul din Moscova este cel mai mare din Europa de Est, ocupă primul loc în Europa ca lungime și număr de linii în exploatare și se află constant în top 3 cele mai mari sisteme de metrou din lume după fluxul de pasageri, alături de Beijing și Shanghai. Prin viteza de dezvoltare și nivelul de confort, depășește Londra, New York și Paris. Iar datorită rețelelor lansate — Inelul Central al Moscovei (MCC) și Diametrele Centrale ale Moscovei (MCD) — capitala a obținut, de facto, un sistem de transport integrat al viitorului: flexibil, high-tech și comod.
#metro#Moscova#Rusia
🚇 Construction of the Bali Metro will begin in September 2024
👍 The Bali Urban Rail project, which consists of four phases, promises to significantly improve the transportation infrastructure on the island. An important aspect is that it will be affordable ticket prices for locals.
1️⃣ The first phase includes routes from I Gusti Ngurah Rai Airport to Kuta Central Parkway, Seminyak, Berawa and Cemaga.
2️⃣ The second phase will cover routes from I Gusti Ngurah Rai Airport to Jimbaran, Udayan University and Nusa Dua.
3️⃣ The third phase will pass through Kuta Central Parkway, Sesetan, Renon and Sanur.
4️⃣ The fourth phase will connect Renon, Sukawati and Udayan University.
📆 The first two phases are scheduled to be completed by 2028 and all four phases by 2031. The project includes construction of underground tunnels and elevated rails, as well as infrastructure for telecommunications, electricity, water and waste management.
@BaliNews
#goodnews#transport#construction#metro
Tashkent’s overground circular metro has reopened. After summer maintenance, 12 trains are now operating on the route with a 7-minute interval.
https://yep.uz/en/2025/11/tashkent-overground-circular-metro-reopens-2025/
#tashkent#metro#transport#uzbekistan