Что делать если нужно поставить какую-то 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
В основном конкурсе предстоящих Канн 12–23 мая будут участвовать:
«Минотавр» / Minotaur, Андрей Звягинцев. Драма о руководителе крупной российской компании, у которого рушатся работа и личная жизнь. В ролях: Анатолий Белый, Варвара Шмыкова.
«Возлюбленная» / El Ser Querido (The Beloved), Родриго Сорогойен. Семейная драма о знаменитом режиссере и его дочери-актрисе, которые снова встречаются на съемочной площадке. В ролях: Хавьер Бардем, Виктория Луэнго, Марина Фоис.
«Мужчина, которого я люблю» / The Man I Love, Айра Сакс. Нью-Йорк конца 1980-х: театральный артист, живущий со СПИДом, получает, возможно, последнюю большую роль. В ролях: Рами Малек, Ребекка Холл.
«Отечество» / Fatherland, Павел Павликовский. Историческая драма о Томасе Манне и его дочери Эрике Манн, которые в 1949 году едут через послевоенную Германию. В ролях: Ханнс Цишлер, Сандра Хюллер.
«Мулен» / Moulin, Ласло Немеш. Биографическая драма о деятеле французского Сопротивления Жане Мулене. В ролях: Жиль Леллуш, Ларс Айдингер.
«Праздник дня рождения» / The Birthday Party, Леа Мисиюс. Триллер о семейном празднике, вокруг которого начинают происходить все более тревожные события. В ролях: Хафсия Эрзи, Бенуа Мажимель, Моника Беллуччи.
«Фьорд» / Fjord, Кристиан Мунджиу. Драма о семье, переехавшей в норвежскую деревню и оказавшейся под подозрением. В ролях: Себастиан Стэн, Ренате Рейнсве.
«Наше спасение» / Notre Salut, Эмманюэль Марр. История человека, который в 1940 году пытается встроиться в режим Виши. В ролях: Сванн Арло.
«Нежный монстр» / Gentle Monster, Мари Кройцер. Драма о знаменитой пианистке, чья жизнь начинает трещать после переезда за город. В ролях: Леа Сейду, Катрин Денев.
«Заметки Наги» / Nagi Notes, Кодзи Фукада. История художницы Ёрико в сельской Наги, которая не может пережить прежнюю любовную связь. Актерский состав пока не раскрыт.
«Надежда» / Hope, На Хон Чжин. Научно-фантастический триллер о загадочном открытии на окраине удаленного портового городка. В ролях: Алисия Викандер, Майкл Фассбендер, Тейлор Расселл.
«Барашек в коробке» / Sheep in the Box, Хирокадзу Корээда. Фильм заявлен в конкурсе, но подробный синопсис и актерский состав пока не раскрыты.
«Неизвестная» / The Unknown, Артюр Арари. Психологическое фэнтези, частично вдохновленное графическим романом Le cas David Zimmerman. В ролях: Леа Сейду, Нильс Шнайдер.
«Все внезапно» / All of a Sudden, Рюсукэ Хамагути. Драма о руководительнице дома престарелых в пригороде Парижа, которая встречает смертельно больную японскую драматургиню. В ролях: Виржини Эфира, Тао Окамото.
«Воображенное приключение» / Das Geträumte Abenteuer, Валеска Гризебах. Драма о женщине, которая в пограничной зоне между Болгарией, Грецией и Турцией соглашается помочь старому знакомому в незаконном деле.
«Горькое Рождество» / Amarga Navidad, Педро Альмодовар. Трагикомедия о женщине, переживающей смерть матери, и о превращении личной жизни в автофикшн. В ролях: Барбара Ленни, Леонардо Сбаралья.
«Параллельные истории» / Parallel Tales, Асгар Фархади. Драма с несколькими переплетающимися сюжетными линиями. В ролях: Изабель Юппер, Венсан Кассель, Виржини Эфира, Катрин Денев.
«Жизнь женщины» / A Woman’s Life, Шарлин Буржуа-Таке. Подробный синопсис пока не раскрыт. В ролях: Леа Дрюкер, Мелани Тьерри, Лоран Лафитт.
«Черный шар» / La Bola Negra, Хавьер Кальво и Хавьер Амбросси. Драма о трех мужчинах, связанных желанием, болью и семейным наследием в разные эпохи. В ролях: Пенелопа Крус, Гленн Клоуз.
«Трус» / Coward, Лукас Донт. Военная драма о бельгийском солдате в окопах Первой мировой. Актерский состав пока не раскрыт.
«Другой день» / Another Day, Жанн Эрри. История молодой актрисы, проходящей через тревогу, переезды и нарастающую зависимость. В ролях: Адель Экзаркопулос.
Еще интересно, что в секции Un Certain Regard заявлен фильм «UĻA» латвийского режиссера Виестурса Кайришса. В синопсисе говорится, что это история о старообрядцах и о баскетболистке Ульяне Семёновой.
на фото Шэрон Тейт на съёмках «Долина кукол», 1967
#cannes
В 1957 году Франсуа Трюффо приехал в Канны в качестве молодого критика, представляющего Cahiers du Cinéma. Всего через год, в 1958 году, его запретили приглашать на фестиваль и обвинили в нападении на основы французского кино
В 1959 году он совершил триумфальное возвращение — на этот раз в качестве режиссёра с фильмом «400 ударов», став лучшим режиссёром этого выпуска
#cannes
78-й Каннский фестиваль подвёл итоги и список победителей получился на редкость разносторонним. Ниже —фильмы, о которых будут говорить всё лето:
Золотая пальмовая ветвь — «Простая случайность», реж. Джафар Панахи
Триллер о бывшем политзаключённом, который сталкивается с человеком, похожим на его бывшего палача, и решает выяснить правду. Фильм исследует темы мести и справедливости
Гран-при — «Сентиментальная ценность», реж. Йоаким Триер
Драма о напряжённых отношениях между отцом, режиссёром в упадке, и его дочерью, актрисой. Фильм исследует темы семейных конфликтов и искусства
Лучший режиссёр — Клебер Мендонса Фильо, «Тайный агент»
Политический триллер, действие которого происходит в Бразилии 1970-х годов, во времена военной диктатуры. Фильм исследует темы диктатуры и сопротивления
Приз жюри — «Сират», реж. Оливер Лаше
История отца, который вместе с сыном отправляется в Марокко на поиски пропавшей дочери
Приз жюри — «Звук падения», реж. Маша Шилински
Эпическая сага, охватывающая столетие, о четырёх девушках, живущих на немецкой ферме в разные эпохи
Лучший сценарий — «Молодые матери», реж. Жан-Пьер и Люк Дарденны
Реалистичный портрет пяти подростков, ставших матерями, и их жизни в приюте. Фильм поднимает вопросы социальной поддержки и личной ответственности
Лучшая женская роль — Надя Меллити, «Младшая сестра»
История молодой женщины, дочери алжирских иммигрантов, которая сталкивается с конфликтом между традициями и своей идентичностью
Лучшая мужская роль — Вагнер Моура, «Тайный агент»
Вагнер Моура исполняет роль агента в политическом триллере, действие которого происходит во времена военной диктатуры в Бразилии
Специальный приз — «Воскрешение», реж. Би Гань
Визуально насыщенное и метакинематографическое путешествие, исследующее историю кино и человеческую память через онейрическую призму
«Золотая камера» за лучший дебют — «Президентский торт», реж. Хасан Хади
Иракская история о детях, которые готовят торт для президента во времена режима Саддама Хусейна, отражая жизнь под диктатурой
Лучший короткометражный фильм — «Я буду рад, если ты сейчас умрешь», реж. Тауфик Баром
Короткометражный фильм, исследующий темы агрессии и абсурда в офисной среде
Все победители Канн 2025 ТУТ
#cannes
Blackout — целый день все в Каннах и окрестностях без электричества. Французские власти называют это актом саботажа: был подожжён трансформатор и повреждён пилон линии электропередачи
Фестиваль не растерялся — переключился на генераторы, и показ «Звука падения» в зале Агнес Варда возобновился через 20 минут после темноты и аварийного освещения. Церемония закрытия кинофестиваля идет своим чередом
Следствие уже начато, но власти пока не утверждают, что целью атаки стал сам фестиваль
Пока прокуратура ищет виновных, полицейские вручную регулируют движение на перекрёстках, а туристы хлопают в ресторанах, когда наконец возвращается свет
#cannes
На «Неделе критики» в Каннах главный приз получил фильм A Useful Ghost о женщине, погибшей от загрязнения воздуха, которая возвращается в этот мир… в виде пылесоса. Героиня борется за право быть полезной даже после смерти — изгоняет призраков на семейной фабрике, налаживает отношения с роднёй и, видимо, очень хорошо убирается, потому что Канны аплодировали стоя
Метафоры — густые, как смог над Бангкоком: капитализм, классовое неравенство, токсичные родственники и пыль, под которой прячется всё. В главных ролях: актриса, актёр, пылесос
«A Useful Ghost» получил высокие оценки критиков за свою оригинальность, глубокий смысл и смелость в освещении острых социальных тем. Фильм был отмечен как «смелая и независимая работа, которая сочетает в себе юмор, политический комментарий и глубокую человечность»
#cannes