TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #210 · 3 фев.

Что делать если нужно поставить какую-то 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

Резултати

Пронајдени 8 слични објави

Пребарај: #redfox

当前筛选 #redfox清除筛选
RedFox Branding

@redfoxuz · Post #1618 · 10.05.2021 г., 13:41

#redfox Bugun RedFox dizayn studiyasiga ishga kirganimga 1 oy bo'ldi. Ishga birinchi kun kelganimda 1 oy vaqt o'tib RedFoxdagi hayot haqida yozaman deb o'zimga va'da bergandim. O'sha payt faqat bu yerdagi hayot zo'rligi, ishga xursand bo'lib borib qaytayotganimni yozaman deb o'ylagandim, lekin hammasi man o'ylagandek bo'lmadi, va va'da berganimdek hammasini boricha yozaman. Xo'sh, RedFoxga kelganimdan buyon kunlar oson o'tmadi, deyarli har kuni chuqur siqilishlar bo'ldi, hayot grafigim butunlay o'zgarib ketdi, ko'p stress va bosimlar bo'ldi. Va bu hammasi emas... Savol: RedFox shunchalik dizaynerlarni qiynaydimi?👀 Gap shundaki, RedFox bu dangasa dizaynerlar uchun emas, bu joy aniq maqsadi bor, ko'p mehnat qilishga, o'z ustida tinmay ishlashga tayyor bo'lganlar uchun. Ko'p vaqt davomida faqat uyda frilanserlik qilganim uchun comfort zonaga tushib qolganligimni RedFoxga kelib bildim. Balki shuning uchun oxirgi 1oy juda qiyin o'tdi. Endi sekin moslashishga harakat qilyapman. Bu yerda ishlashni man uchun + tomonlaridan biri, ofisda qizlar ko'p, va o'zim ham qizlarni RedFoxda shogirdlikka olyapman. IT sohasida qizlar kamligi uchun ish joyini tanlashda qiynalardim, bu yerda esa qizlar ko'pligi uchun o'zimni ancha erkin xis qilaman. Shuningdek bu yerda 2ta dizaynerdan yaxshi hislatlarni o'rgandim. Ismlarini balki keyinroq aytarman. 1-dizaynerdan kitob o'qishni o'rgandim, har kuni ofisga kelganimda dizaynga aloqador kitob o'qib o'tirishlariga ahamiyat berdim va bu manga kitob o'qishga turtki bo'ldi va hozirda dizaynga aloqador qiziqarli kitob o'qiyapman, keyinroq u kitob haqida batafsil aytaman. 2-dizaynerdan esa bosim paytida har narsaga asabiylashmasdan og'ir-bosiq bo'lishni, muammolarni kulib qarshi olishni o'rgandim, aniqrog'i hali o'rgana olmadim, shuni harakatidaman. Har doim yolg'iz ishlaganingizdan keyin jamoaga qo'shilganingizda va jamoada hammada o'ziga yarasha individual xarakterli odamlar bilan ishlashni boshlaganingizda haqiqiy sinovli paytlar boshlanar ekan. RedFoxda sabr-toqatli, bardoshli, chidamli, muvozanatli, mehnatsevar bo'lishni o'rganasiz, shunga majbur bo'lasiz ham, bu hislatlarsiz ishlay olmaysiz, manda shu hislatlar kamlik qilganini sezdim, endilikda shularni rivojlantirish yo'lidaman. Agar siz ham comfort zonadan chiqishni xohlasangiz, kuchli boʻlishni istasangiz va boshqa kerakli hislatlarni rivojlantirishni xohlasangiz RedFoxga marhamat. Jamoaga ayniqsa qizlarni taklif qilaman! Birgalikda qizlar bilan rivojlanishimizga ishonaman😊 Qisqaroq yozishga harakat qildim...

Hashtags