Что делать если нужно поставить какую-то 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
#курсы#TOEFL
Онлайн-курс «TOEFL® Test Preparation: The Insider’s Guide»
Онлайн-курс, подготовленный специалистами, участвующими в разработке и оценке TOEFL, уделяет внимание всем аспектам экзамена (Reading, Listening, Speaking and Writing), а также объясняет, как зарегистрироваться.
В программу входят: интерактивные материалы (включая видео), которые можно проходить в собственном темпе. Ученики получат доступ к тестам прошлых лет и бесплатным ресурсам.
Стоимость: бесплатно (если необходим подтверждающий сертификат, надо заплатить 49 USD)
Длительность: 6 недель.
Подробнее: https://www.edx.org/course/toefl-test-preparation-the-insiders-guide
🇺🇿Присоединиться к каналу "Образование в Узбекистане”
https://t.me/obrazovanie_uzbekistan
#курсы#TOEFL
Онлайн-курс «TOEFL® Test Preparation: The Insider’s Guide»
Онлайн-курс, подготовленный специалистами, участвующими в разработке и оценке TOEFL, уделяет внимание всем аспектам экзамена (Reading, Listening, Speaking and Writing), а также объясняет, как зарегистрироваться.
В программу входят: интерактивные материалы (включая видео), которые можно проходить в собственном темпе. Ученики получат доступ к тестам прошлых лет и бесплатным ресурсам.
Стоимость: бесплатно (если необходим подтверждающий сертификат, надо заплатить 49 USD)
Длительность: 6 недель.
Подробнее: https://www.edx.org/course/toefl-test-preparation-the-insiders-guide
🇺🇿Присоединиться к каналу "Образование в Узбекистане”
https://t.me/obrazovanie_uzbekistan
🌍 Andijon Taraqqiyot – Andijonda rasmiy TOEFL IBT test markazi! 🎓
Ingliz tilini bilish darajangizni tasdiqlashni xohlaysizmi? Endi TOEFL iBT imtihoniga tayyorgarlik ko‘rib, uni bizning markazimizda topshirishingiz mumkin!
✅ Biz – Andijondagi rasmiy TOEFL iBT test markazimiz!
✅ TOEFL iBT kurslarini yo‘lga qo‘ydik – tajribali o‘qituvchilar bilan yuqori natijaga erishing!
✅ TOEFL iBT nafaqat chet el universitetlari, balki O‘zbekistonning yetakchi OTMlari tomonidan ham qabul qilinadi.
✅ Xalqaro sertifikatga ega bo‘ling va eng yaxshi universitetlar hamda kompaniyalarga yo‘l oching!
📞 Ro‘yxatdan o‘tish va maslahat: 74-226-1078
📺@admofadc
📱Telegram📱Instagram📱Facebook📱TikTok📱YouTube
Keling va kelajagingiz sari qadam tashlang!
🚀#TOEFL#AndijonTaraqqiyot#Andijon
❓Nega ayanan Pre-university kurslari?
🔹“Yangi O‘zbekiston” universitetining kirish imtihonlariga yuqori darajada tayyorgarlik;
🔹IELTS, TOEFL va SAT xalqaro imtihonlariga tayyorgarlik;
🔹Universitetda o‘qish uchun zarur bo‘lgan tanqidiy fikrlash qobiliyatini rivojlantirish;
🔹“Yangi O‘zbekiston” universitetining akademik muhitini his etish;
🔹 “Yangi O‘zbekiston” universiteti SAT va TOEFL ITP xalqaro sertifikatlari uchun imtihon o‘tkazish vakolatiga ega bo‘lib, talabalar universitetning o‘zida imtihonlarni topshirishlari mumkin.
👉Ro'yxatdan o'tish
https://newuu.uz/en/pre-university#apply
🗓 Ro’yxatdan o’tishning oxirgi muddati: 25-yanvar, 2024-yil
Tel: +998712024111
Telegram:@ccecontact_bot
Elektron pochta: [email protected]
🔁English
➖➖➖➖➖➖➖➖➖➖➖
#SAT#TOEFL#tayyorlov
⬇️Biz ijtimoiy tarmoqlarda:
Contact | Telegram | Instagram | Facebook
⚡️Universitetga tayyorlov kurslariga qabul boshlandi!
✅ Universitetimizda 10-11-sinf o‘quvchilari uchun matematika va ingliz tili fanlaridan tayyorlov kurslariga qabul boshlandi.
👉Ro‘yxatdan o‘tish
https://newuu.uz/en/pre-university#apply
❗️Tayyorlov kurslari SAT, IELTS yoki TOEFL xalqaro imtihonlariga tayyorgarlikni ham o’z ichiga oladi.
📚 Tayyorlov kurslari o‘quvchilarning bilimiga ko'ra ikki bosqichda tashkil etiladi:
🔹Birinchi bosqich uchun, ingliz tilidanminimum 40%, matematikadan esa minimum 20% ko'rsatgich qayd etishingiz kerak.
🔹Ikkinchi bosqich uchun esa, ingliz tilidanminimum 60%, matematikadan esa minimum 40% ko'rsatgich qayd etishingiz lozim.
🔹Talabgorlar kamida 10-sinfda tahsil olayotgan bo'lishlari shart.
☑️ Har bir bosqich davomiyligi 4,5 oy bo'lib, darslar haftada 3 marotaba tashkil etiladi.
📌 Ro’yxatdan o’tishning oxirgi muddati: 25-yanvar, 2024-yil.
Tel: +998712024111
Telegram:@ccecontact_bot
Elektron pochta: [email protected]
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#SAT#TOEFL#tayyorlov
⬇️Biz ijtimoiy tarmoqlarda:
Contact | Telegram | Instagram | Facebook
📚“Pre-university”ning quyidagitayyorlov kurslariga qabul davom etmoqda!
1. Ingliz tili (IELTS xalqaro imtihoniga tayyorgarlik)
2. Matematika (SAT xalqaro imtihoniga tayyorgarlik)
3. SWIFT dasturlash tili (IOS ilovalarini ishlab chiqish)
👉Ro'yxatdan o'tish (Ingliz tili va Matematika): https://newuu.uz/en/pre-university#apply
👉Ro'yxatdan o'tish (SWIFT dasturlash tili): https://newuu.uz/en/app-development-with-swift
Tel: +998712024111
Telegram:@ccecontact_bot
Elektron pochta: [email protected]
#SAT#TOEFL#tayyorlov
⬇️Biz ijtimoiy tarmoqlarda:
Telegram | Instagram | Facebook
📚 “Pre-university”ning quyidagi tayyorlov kurslariga qabul davom etmoqda!
1. Ingliz tili (IELTS xalqaro imtihoniga tayyorgarlik)
2. Matematika (SAT xalqaro imtihoniga tayyorgarlik)
3. SWIFT dasturlash tili (iOS ilovalarini ishlab chiqish)
Veb-sayt: newuu.uz
Tel: +998712024111
Telegram: @ccecontact_bot
Elektron pochta: [email protected]
#SAT#TOEFL#tayyorlov
📚"Yangi O'zbekiston" universitetida o'qishni xohlaysizmi?
Buning uchun siz IELTS yoki TOEFL imtihonlarini topshirishingiz kerak bo'ladi.
🌏 Universitetning Pre-university tayyorlov kursi sizga ingliz tilidan o'z bilimingizni oshirishda hamda bir paytning o'zida IELTS va TOEFL imtihonlariga tayyorlanishda yordam beradi.
🎓 Bundan tashqari, siz universitetning akademik hayotiga ham o’zingizni tayyorlab borish imkoniga ega bo’lasiz.
Hoziroq ro'yxatdan o'ting!
👉Ro'yxatdan o'tish
https://newuu.uz/en/pre-university#apply
🗓 Ro’yxatdan o’tishning oxirgi muddati: 25-yanvar, 2024-yil
Tel: +998712024111
Telegram:@ccecontact_bot
Elektron pochta: [email protected]
➖➖➖➖➖➖➖➖➖➖➖
#SAT#TOEFL#tayyorlov
⬇️Biz ijtimoiy tarmoqlarda:
Telegram | Instagram | Facebook