Что делать если нужно поставить какую-то 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
#qurilish
🏗 Qurilish sohasida soliq ma’murchiligi va islohotlar
🧱 Bugungi kunda qurilish sohasi O‘zbekiston iqtisodiyotining eng faol tarmoqlaridan biri hisoblanadi. Shu bois mazkur sohada soliq ma’murchiligini kuchaytirish dolzarb ahamiyat kasb etmoqda.
📌Soliq kodeksining 248-moddasi 7-bandiga muvofiq, qurilish-montaj, ta’mirlash-qurilish, loyiha-qidiruv hamda uzoq muddatli shartnomalar bo‘yicha soliq bazasi har bir kalendar oy yakunida amalda bajarilgan ishlar qiymati asosida aniqlanadi. Agar shartnoma asosida materiallar bilan ta’minlash majburiyati buyurtmachi zimmasiga yuklatilgan bo‘lsa, ushbu materiallar qiymati soliq bazasiga kiritilmaydi.
🔹 Shu bilan birga, qurilish sohasida keng ko‘lamli islohotlar amalga oshirilmoqda. Tizimni to‘liq raqamlashtirish va shaffoflikni ta’minlash maqsadida “Shaffof qurilish”milliy axborot tizimi joriy etildi. Endi barcha loyihalar, tenderlar va qurilish jarayonlari onlayn tarzda nazorat qilinadi.
🔹Qurilish-pudrat tashkilotlarining elektron reytingi yo‘lga qo‘yilib, davlat buyurtmalarini faqat tajribali va ishonchli kompaniyalar olishi ta’minlanmoqda.
🌱 Shaharsozlikda “Yashil qurilish” tamoyillari ustuvor ahamiyat kasb etmoqda. Yangi talablarga ko‘ra, ko‘p qavatli binolar va ijtimoiy obyektlarda quyosh panellari o‘rnatish hamda energiya tejamkor izolyatsiya materiallaridan foydalanish majburiy etib belgilandi.
🏘 Shuningdek, respublika bo‘ylab “Yangi O‘zbekiston” massivlari barpo etilmoqda. Ushbu massivlarda uy-joylar bilan bir qatorda maktablar, bog‘chalar va shifoxonalar ham barpo etilmoqda.
Telegram | Facebook | YouTube | Twitter | Website
Prezident Shavkat Mirziyoyevga turizm, transport va ijtimoiy infratuzilmani rivojlantirishga qaratilgan qurilish loyihalari taqdimot qilindi.
—
Президенту Шавкату Мирзиёеву представлены строительные проекты, направленные на развитие туристической, транспортной и социальной инфраструктуры.
#Mirziyoyev#taqdimot#qurilish#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev raisligida uy-joy qurilishi va urbanizatsiya sohasida amalga oshirilayotgan ishlar va kelgusidagi ustuvor vazifalar yuzasidan videoselektor yigʻilishi oʻtkazildi.
—
Под председательством Президента Шавката Мирзиёева состоялось видеоселекторное совещание, посвященное проводимой работе и приоритетным задачам в сфере жилищного строительства и урбанизации.
#Mirziyoyev#videoselektor#urbanizatsiya#qurilish
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev raisligida uy-joy qurilishi va urbanizatsiya sohasida amalga oshirilayotgan ishlar va kelgusidagi ustuvor vazifalar yuzasidan videoselektor yigʻilishi oʻtkazildi.
—
Под председательством Президента Шавката Мирзиёева состоялось видеоселекторное совещание, посвященное проводимой работе и приоритетным задачам в сфере жилищного строительства и урбанизации.
#Mirziyoyev#videoselektor#urbanizatsiya#qurilish
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga turizm, transport va ijtimoiy infratuzilmani rivojlantirishga qaratilgan qurilish loyihalari taqdimot qilindi.
—
Президенту Шавкату Мирзиёеву представлены строительные проекты, направленные на развитие туристической, транспортной и социальной инфраструктуры.
#Mirziyoyev#taqdimot#qurilish#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev raisligida uy-joy qurilishi va urbanizatsiya sohasida amalga oshirilayotgan ishlar va kelgusidagi ustuvor vazifalar yuzasidan videoselektor yigʻilishi oʻtkazildi.
—
Под председательством Президента Шавката Мирзиёева состоялось видеоселекторное совещание, посвященное проводимой работе и приоритетным задачам в сфере жилищного строительства и урбанизации.
#Mirziyoyev#videoselektor#urbanizatsiya#qurilish
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyevga turizm, transport va ijtimoiy infratuzilmani rivojlantirishga qaratilgan qurilish loyihalari taqdimot qilindi.
—
Президенту Шавкату Мирзиёеву представлены строительные проекты, направленные на развитие туристической, транспортной и социальной инфраструктуры.
#Mirziyoyev#taqdimot#qurilish#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev raisligida uy-joy qurilishi va urbanizatsiya sohasida amalga oshirilayotgan ishlar va kelgusidagi ustuvor vazifalar yuzasidan videoselektor yigʻilishi oʻtkazildi.
—
Под председательством Президента Шавката Мирзиёева состоялось видеоселекторное совещание, посвященное проводимой работе и приоритетным задачам в сфере жилищного строительства и урбанизации.
#Mirziyoyev#videoselektor#urbanizatsiya#qurilish
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев йўл хўжалигидаги ишлар натижадорлиги ва режадаги лойиҳалар бўйича тақдимот билан танишди.
—
Президент Шавкат Мирзиёев ознакомился с презентацией о результативности работы и запланированных проектах в сфере дорожного хозяйства.
#Mirziyoyev#taqdimot#qurilish#yullar
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев Янги Тошкент, Имом Бухорий мажмуаси ва қатор бошқа қурилиш лойиҳалари тақдимоти билан танишди.
—
Президент Шавкат Мирзиёев ознакомился с презентацией проектов строительства Нового Ташкента, комплекса Имама Бухари и ряда других объектов.
#Mirziyoyev#taqdimot#qurilish#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Президент Шавкат Мирзиёев Янги Тошкент, Имом Бухорий мажмуаси ва қатор бошқа қурилиш лойиҳалари тақдимоти билан танишди.
—
Президент Шавкат Мирзиёев ознакомился с презентацией проектов строительства Нового Ташкента, комплекса Имама Бухари и ряда других объектов.
#Mirziyoyev#taqdimot#qurilish#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|Twitter