Что делать если нужно поставить какую-то 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
Приглашаем Вас в понедельник 7 октября, чтобы почтить память Анны Политковской.
Мы собираемся в саду Политковской в Милане в 18:00, на углу Corso Como и Garibaldi, чтобы вспомнить убийство Анны, совпавшее с днем, когда в России умерла свобода прессы.
7 октября 2006 года российская журналистка была убита пятью выстрелами, в лифте многоквартирного дома, где она жила в центре Москвы. Её убийство стало первым в длинной цепочке преступлений и безнаказанности путинского режима.
Она рассказывала о второй чеченской войне и злоупотреблениях российской армии: массовых казнях, похищениях людей, пытках, изнасилованиях, совершенных во имя «борьбы с терроризмом».
Сегодня такие же преступления совершаются во имя «борьбы с денацификацией».
Анна Политковская предупреждала нас, а мы этого не поняли. А «они» поняли, потому и заставили её замолчать навсегда.
Приходите, активисты Russi Contro La Guerra принимают участие в мероприятии.
#аннаполитковская#annaviva
#russicontrolaguerraitalia
#annapolitkovskaya
Вчера состоялось открытие выставки «Лица российского сопротивления» — международной выставки, посвященной гражданам России, заключенным в тюрьму за сопротивление режиму Владимира Путина.
Ассоциация Аннавива и сообщество Russi contro la guerra благодарят всех, кто принял участие в открытии.
Идея выставки принадлежит бывшему депутату Московской городской думы (2017–2022) Елене Филиной, которая была вынуждена покинуть Россию из-за своих антивоенных и оппозиционных взглядов.
Выставка «Лица Российского Сопротивления» будет находиться на площади Мерканти в Милане до 30 марта.
Призываем вас не забывать лица и имена людей, публично выступивших против агрессии России на Украину и расплачивающихся за это своей свободой. А еще лучше напишите хотя бы одному из них маленькое письмо с поддержкой.
⭐️ Просим вас поддержать проект в покрытии расходов:
🔹ANNA VOEYKOVA IBAN: IT 54 Z 05387 11116 0000 4242 9902
🔹Paypal: https://paypal.me/annaetoanna
#annaviva#dissidenti#prigioneripolitici#facesrussianresistance#russicontrolaguerra
‼️Уже завтра 22 марта состоится официальное открытие выставки "Лица российского сопротивления" в Милане в 12:00.
🟢 Приходите! Адрес: Piazza dei Mercanti, около Дуомо.
В открытии выставки участвуют:
🔹 Lia Quartapelle депутат Итальянской Республики;
🔹 Giulia de Florio Мемориал Италия; Joshua Evangelista фонд Gariwo, сад праведников (Giardino dei Giusti),
🔹 Елена Филина, основательница самого проекта.
Вы сможете узнать об историях тех, кто осмелился выступить против войны и репрессий, о гражданах России – журналистах, активистах, учёных, студентах, художниках и обычных людях, оказавшихся за решёткой из-за своей смелости говорить правду.
Например, о Зареме Мусаевой, Григорие Мельконянце, Людмиле Разумовой, Артёме Камардине, Всеволоде Королеве, Михаиле Кригер и многих других.
Вы узнаете: об условиях содержания, сроках заключения, статьях и причинах заключения, об освобожденных и погибших в заключении и многое другое.
Проект создан российскими муниципальными депутатами и активистами, вынужденными покинуть страну из-за своей антивоенной позиции.
Организаторы выставки – ассоциация AnnaViva (основана в память об Анне Политковской) и сообщество Russi Contro la Guerra.
⭐️ Просим вас поддержать проект в покрытии расходов (ещё необходимо€1700-2000).
Любая сумма важна!
🔹ANNA VOEYKOVA IBAN: IT 54 Z 05387 11116 0000 4242 9902
🔹Paypal: https://paypal.me/annaetoanna
Делитесь анонсом и приходите!
Выставка открыта до 30 марта (до 15:30).
#annaviva#dissidenti#prigioneripolitici#facesrussianresistance#russicontrolaguerra
Монтаж выставки "Лица российского сопротивления"в Милане!
Приходите на инагруцию в субботу в 12:00!
Благодарим всех, кто принимает участие!
Поддержите взносом для покрытия расходов (ещё желательно €1500-1700)
🔹ANNA VOEYKOVA IBAN: IT 54 Z 05387 11116 0000 4242 9902
🔹Paypal: https://paypal.me/annaetoanna
#annaviva#dissidenti#prigioneripolitici#facesrussianresistance#russicontrolaguerra
На 40-й день после убийства Алексея Навального мы соберемся в Саду Анны Политковской на проспекте Комо в Милане, чтобы почтить память русского оппозиционера, который заплатил своей жизнью за решение вернуться на Родину для борьбы за другую Россию.
Присоединяйтесь, чтобы поддержать память о нем и его надеждах на Прекрасную Россию Будущего. Приносите цветы.
Встречаемся во вторник, 26 марта, в 18:30. в Милане, в саду Политковской, Corso Комо – напротив станции Гарибальди. P.S. Эта инициатива одобрена квестурой.
В Инстаграм:
https://www.instagram.com/p/C4xtUKZMmmE/?igsh=eDdqY3MwYjUzcmx3
Ассоциация Аннавива #40днейбезнавального#annaviva#alexeinavalny#alexeynavalny#40днейбезнавального#навальный
‼️С 19 по 30 марта 2025 года в Милане на площади Piazza dei Mercanti пройдет международная выставка «Лица российского сопротивления», которая расскажет историю тех, кто осудил диктатуру и войну и был за это осужден.
🔥 Приглашаем вас на открытие:
Сб, 22 марта 2025 г. 12:00
Piazza dei Mercanti, Милан
⚪️ «Лица российского сопротивления» освещают судьбы сотен людей — журналистов, активистов, ученых, студентов, художников и простых граждан, которые решили открыто противостоять репрессиям и агрессии.
⚪️ Инициативу организовали ассоциация AnnaViva и активисты Russi Contro La Guerra.
Мы продолжаем сопротивление режиму.
Ссылка на мероприятие в Facebook
Instagram тут
Italiano qiu
🔥Поддержите выставку, помогите, пожалуйста, покрыть расходы на ее организацию (на данный момент собрано €500 из вложенных 2000) :
🔹ANNA VOEYKOVA IBAN: IT 54 Z 05387 11116 0000 4242 9902
🔹Paypal: https://paypal.me/annaetoanna
#facesrussianresistance#milano#freerussiansglobal#prigioneripolitici#resistenza#mostra#dissidenti#annaviva#russicontrolaguerra#rawitaly
С 19 по 30 марта 2025 года в Милане на площади Piazza dei Mercanti пройдет международная выставка «Лица российского сопротивления», которая расскажет историю тех, кто осудил диктатуру и войну и был за это осужден.
🔥Приглашаем вас на открытие:
Сб, 22 марта 2025 г. 12:00
Piazza dei Mercanti, Милан
⚪ «Лица российского сопротивления» освещают судьбы сотен людей — журналистов, активистов, ученых, студентов, художников и простых граждан, которые решили открыто противостоять репрессиям и агрессии.
⚪ Инициативу организовали ассоциация AnnaViva и активисты Russi Contro La Guerra.
Мы продолжаем сопротивление режиму.
Ссылка на мероприятие в Facebook
Instagram тут
Italiano qiu
🔥Поддержите выставку, помогите, пожалуйста, покрыть расходы на ее организацию.
#facesrussianresistance#milano#freerussiansglobal#prigioneripolitici#resistenza#mostra#dissidenti#annaviva#russicontrolaguerra#rawitaly
С 19 по 30 марта 2025 года в Милане на площади Piazza dei Mercanti пройдет международная выставка «Лица российского сопротивления», которая расскажет историю тех, кто осудил диктатуру и войну и был за это осужден.
🔥Приглашаем вас на открытие:
Сб, 22 марта 2025 г. 12:00
Piazza dei Mercanti, Милан
⚪ «Лица российского сопротивления» освещают судьбы сотен людей — журналистов, активистов, ученых, студентов, художников и простых граждан, которые решили открыто противостоять репрессиям и агрессии.
⚪ Инициативу организовали ассоциация AnnaViva и активисты Russi Contro La Guerra.
Мы продолжаем сопротивление режиму.
Ссылка на мероприятие в Facebook
Instagram тут
Italiano qiu
🔥Поддержите выставку, помогите, пожалуйста, покрыть расходы на ее организацию.
#facesrussianresistance#milano#freerussiansglobal#prigioneripolitici#resistenza#mostra#dissidenti#annaviva#russicontrolaguerra#rawitaly
(на русс.яз.тут) Vi invitiamo! "Volti della resistenza russa": a Milano la mostra che racconta il dissenso.
⚪ Dal 19 al 30 marzo 2025, Milano ospiterà in piazza Mercanti l’esposizione internazionale "Volti della resistenza russa", una mostra dedicata ai cittadini russi incarcerati per aver scelto di esercitare la libertà di denunciare una dittatura e una guerra.
⚪️ Vi invitiamo all’inaugurazione: 22 marzo
alle ore 12, in piazza Mercanti a Milano.
⚪ L’iniziativa è organizzata dall’associazione AnnaViva e gli attivisti Russi Contro la Guerra.
⚪ Insieme continuiamo a impegnarci per sostenere la resistenza contro l’oppressione.
FB qui
Instagram qui
Donation per coprire le spese!
#facesrussianresistance#milano#freerussiansglobal#prigioneripolitici#resistenza#mostra#dissidenti#annaviva#russicontrolaguerra#rawitaly