Что делать если нужно поставить какую-то 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
#WashingtonPost:
САЩ 🇺🇲 редуцират участието си в структурите на НАТО
Администрацията на Тръмп започна поетапно намаляване на американското присъствие в ключови консултативни органи на НАТО, което отразява обща политика на дистанциране от европейските съюзници. Пентагонът планира да изтегли приблизително 200 военнослужещи от около 30 от Центровете за върхови постижения на алианса, които разработват стандарти в областите на енергийната сигурност, морските операции и разузнаването.
Самые влиятельные технологии 2-го десятилетия XXI века
По версии Washington Post, это далеко не смартфон, а вот что:
— лайки в Instagram;
— уши голосового помощника Alexa;
— работники такси Uber;
— Netflix;
— Tesla модели S;
— ленты социальных сетей и информационные пузыри-фильтры;
— предписания умных часов Apple Watch;
— система камер наблюдения за входом в дом Ring;
— iPad как цифровая няня;
— биометрическая авторизация по лицу или пальцу.
В российских реалиях, конечно, есть аналоги некоторых из перечисленных изобретений, которые не присутствуют на нашем рынке.
Стоит сказать, что колумнист Джеффри Фаулер больше сосредотачивается на минусах этих технологий — у каждой из них есть серьёзная обратная сторона, которая обязательно станет полем крупной битвы в третьем десятилетии (к примеру, альтернативные реальности наших цифровых пузырей и слежка правительств за гражданами).
#IT#медиа#WashingtonPost
Washington Post: «Америка, не терпи информационную войну России»
В ролике, вышедшем у издания 18 декабря 2018, редакция ультимативно заявляет, что всё это неопровержимо:
— Россия вмешивалась в выборы президента в 2016-м;
— Россия использовала все крупные социальные медиа в помощь Трампу;
— все месседжи Москвы были направлены на пользу Республиканской партии;
— кампания затронула 126 млн человек на Facebook, 20 млн в Instagram;
— говорится про «десятки миллионов постов»;
— российская кампания «разработана для поляризации общества Соединённых Штатов», «и всё это продолжается»;
— «имели место поразительно утончённые усилия, нацеленные на афроамериканцев, чтобы подавить их голоса и посеять сомнения о Хиллари Клинтон;
— этот нарратив усилился после выборов и продолжает нарастать, несмотря на баны аккаунтов;
— американцам не следует терпимо относиться к этому иностранному вмешательству.
Занятно, что столько обвинений решили уложить в минутное видео.
#инфовойны#США#Россия#WashingtonPost
Washington Post крайне враждебно настроен в отношении России. Слово «дезинформация» встречается на его страницах 3314 раз, и в основном всё связано с нами. Не отстаёт и New York Times — 4206 упоминаний.
Да тут любой поверит во враждебную пропаганду.
#инфовойны#США#Россия#WashingtonPost
Миссия Washington Post
Написана 5 марта 1935-го Юджином Мейером, который купил газету за пару лет до этого, и состоит из 7 принципов.
1. Первая миссия газеты — говорить правду, насколько её можно установить.
2. Газета должна говорить ВСЮ правду до пределов, в которых её можно выяснить, заботясь о важных делах Америки и мира.
3. В качестве распространителя новостей газета должна соблюдать приличия, которые обязательны для частного джентльмена.
4. То, что печатает газета, должно подходить для чтения как юным, так и старым людям.
5. У газеты есть долг перед читателями и публикой в целом, а не перед частными интересами владельцев.
6. В погоне за правдой газета должна быть готова пожертвовать своим материальным имуществом, если это необходимо для общественного блага.
7. Газета не должна пособничать ничьим особым интересам, но должна быть честной, свободной и благотворной в освещении общественных дел и общественных деятелей.
#журналистика#медиа#США#WashingtonPost
Washington Post: почему лучшие идеи приходят к нам в душе?
Хороший душ может расслабить не только ваше тело, но и ваш разум, высвобождая потоки сознания для осознанности и творчества. Исследования показывают, что так называемый «эффект душа» может проявляться и вне ванной комнаты, и многие из наших лучших мыслей возникают не на работе или в школе, а во время повседневной жизни, когда идеи рождаются в фоновом режиме.
«В исследовании, проведенном в 2019 году, 98 профессиональных писателей и 87 физиков каждый день записывали свои самые креативные идеи, а также то, что они делали и о чем думали, когда их осенило. Хотя большинство идей возникало на работе, 20 процентов самых значимых идей приходили во время других занятий — мытья посуды или принятия душа. Примечательно, что идеи, возникавшие у писателей и физиков вдали от работы, по их самооценке, были такими же творческими и важными, как и те, что возникали у них на рабочем месте».
https://theidealist.ru/showerideas/
#WashingtonPost#человек#мышление#психология
Dopo, #MarcoRubio, il Segretario di Stato degli #USA, lo dice anche #WashingtonPost: "La #Siria rischia una nuova guerra civile molto presto a causa degli eventuali conflitti che possono nascere tra i gruppi paramilitari fondamentalisti".
Рассказал, как WP объединяет дата-журналистику в едином отделе. Думаю, интересно в качестве кейса для медиа.
#новости#медиа#журналистика#кейс#WashingtonPost
А когда-то было вот так (но фактически это были инвестиции в будущее).
Ср.: 24 ноября 2020 — Axios сообщает, что количество подписчиков WaPo в цифре достигло 3 миллионов.
Правда, если уж совсем придираться, стратегия за эти годы наверняка не раз менялась, поэтому между именно теми инвестициями в 2000 году и успехом в 20-м есть ещё множество факторов.
#кейс#медиа#журналистика#WashingtonPost#США
У Washington Post есть колонка с забавным названием — «обезьянья клетка» (Monkey Cage).
На самом деле это отсылка к цитате журналиста и сатирика Генри Менкена «Демократия — это искусство управлять цирком из обезьяньей клетки». Цель рубрики — показывать «политический цирк» через возможность высказываться для политологов.
#наблюдения#медиа#журналистика#WashingtonPost#США
Washington Post в 2017-м: пора отправить термин «fake news» на пенсию.
Washington Post в 2020-м: fake news, fake news, fake news))
P.S. Но вообще в той колонке Маргарет Салливан есть здравая мысль: не смешивайте человеческие ошибки, ложь и теории заговора.
#наблюдения#инфовойны#США#WashingtonPost#фейки