Что делать если нужно поставить какую-то 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
Мусорная экосистема в Тихом Океане
Вау. Согласно исследованиям опубликованым в журнале BLOS Biology Большое Тихоокеанское Мусорное Пятно (Great Pacific garbage patch) является процветающим домом для целого ряда организмов.
Размер Тихоокеанского мусорного пятна, сформированного океанскими течениями, около 1.6 миллионов квадратных километров 😱. Водоворот системы собирает мусор со всей северной части Тихого океана. Отходы подхватываются поверхностными течениями и постепенно перемещаются к центру водоворота, который не выпускает мусор за свои пределы. Пластиковые отходы в этом регионе хорошо задокументированы, но мало что известно о плавающих океанских существах, таких как медузы или ракообразные, например.
Так вот в статье с названием "High concentrations of floating neustonic life in the plastic-rich North Pacific Garbage Patch" описывается как авторы плавали 80 дней по этому мусорному континенту и собрали образцы воды, организмов и пластика. Они обнаружили, что плотность плавающей жизни была выше в центральной части мусорного пятна, чем на ее периферии. Еще есть положительная связь между численностью организмов и количеством плавающего пластика. То есть вероятно образовалась антропогенная мусорная экосистема 🌊🍥🐠.
#ecology#climate
🗑️ Bali’s biggest landfill Suwung will close on December 23
Right before peak season!
📰 The governor insists the island is ready for the “green era,” but lawmakers and environmentalists are panicking: the new PSEL waste-processing plant still isn’t operational, and local TPS3R facilities can handle only about one-third of the daily 1,000+ tons of waste.
♻️ What will happen to the rest? Residents are being told to quickly learn to sort trash or get used to garbage bags piling up under their windows.
#environment#ecology@BaliNews
Trump canceled a key point of the US climate policy, calling greenhouse gases harmless. US President Donald Trump has achieved the cancellation of the decision on which the American climate policy has been based since 2009.
The U.S. Environmental Protection Agency (EPA) has invalidated the Obama-era conclusion that carbon dioxide and other greenhouse gases pose a threat to public health and well-being. It was on this norm that the key climate restrictions under the Clean Air Act were based, from emission limits for cars to requirements for power plants and industry. Trump and EPA chief Lee Zeldin called the move "the largest deregulation in American history." According to Trump, the previous rules were "disastrous," hurting the auto industry and "inflating prices for consumers."
Environmentalists call the cancellation a historic setback and the biggest blow to the United States' ability to combat climate change.
#Trump#Ecology#ClimateChanges
👂More on Trump's Ear ⚠️
🌍 The Eastern Arc Mountains in East Africa are a biodiversity hotspot where 75% of the area's plant species exist nowhere else on Earth—making it one of the planet’s most unique natural vaults. ✨
#biodiversity⚡#conservation⚡#ecology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌎 Cleaning up plastic from the ocean is getting high-tech—autonomous drones and floating barriers are now used to collect debris before it breaks down. The Ocean Cleanup project, for example, reported removing over 200,000 kilograms of plastic from the Great Pacific Garbage Patch by 2023. ✨
#ecology⚡#technology⚡#ocean
👉subscribe Interesting Planet
👉more Channels
🌍 The Eastern Himalayas are a biodiversity hotspot with over 10,000 plant species, and nearly a quarter of them are found nowhere else, despite covering less than 2% of India’s total area. ✨
#biodiversity⚡#Himalayas⚡#ecology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some freshwater wetlands form floating islands—mats of living plants thick enough to walk on. These islands create unique microhabitats and drift slowly across lakes or shallow wetlands. ✨
#wetlands⚡#freshwater⚡#ecology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some grassland plants grow deep roots reaching over 2 meters underground. These roots help the plants survive drought and anchor soil, making grasslands some of the most erosion-resistant landscapes. ✨
#grasslands⚡#savanna⚡#ecology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🔔 Встреча в рамках проекта «Бизнес мастер-класс»
📣 Уважаемые профессора-преподаватели, слушатели и гости! Приглашаем вас на очередную встречу в рамках проекта «Бизнес мастер-класс».
💼 Очередным гостем-докладчиком проекта выступит Алексей Волков, Национальный координатор GEF SGP в Узбекистане.
🚻 Тема встречи: «Внедрение инновационных ресурсосберегающих практик: Принципы и опыт проектов Программы малых грантов Глобального экологического фонда».
🗓 Дата: 25 октября 2024 года
⏳ Время: 10:30
📞 +998 71 239-03-14
📍 Адрес: Высшая школа бизнеса и предпринимательства (5-й этаж)
#GraduateSchool#Global#Ecology#Grant
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
🔔 "Biznesda mahorat darslari" loyihasi doirasida uchrashuv
📣 Hurmatli professor-o‘qituvchilar, tinglovchilar va mehmonlar! Sizlarni “Biznesda mahorat darslari” loyihasi doirasida bo‘lib o‘tadigan uchrashuvga taklif etamiz!
🤵 Loyihaning navbatdagi mehmon ma’ruzachisi Aleksey Volkov GEF SGP O‘zbekistondagi Milliy koordinatori.
🚻 "Innovatsion resurslarni tejash amaliyotini joriy etish: Global Ekologik Fond Kichik Grantlar Dasturi loyihalari tamoyili va tajribasi" mavzusidagi uchrashuvga marhamat.
🗓Sanasi: 25-oktyabr 2024-yil
⏰Vaqti: 10.30
☎️ +998 71 239-03-14
📍Manzil: Biznes va tadbirkorlik oliy maktabi (5-qavat)
#GraduateSchool#Global#Ecology#Grant
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
🌎 Advances in carbon capture technology could help slow climate change by removing CO2 directly from the air. Direct air capture plants use chemical filters to collect carbon dioxide for storage underground or reuse in products. As of 2023, the largest facility can capture up to 4,000 metric tons of CO2 per year. ✨
#ecology⚡#climate⚡#technology
👉subscribe Interesting Planet
👉more Channels
🌎 Urban forests, groups of trees specially planted in cities, can lower summer air temperatures by up to 5°C, improve air quality, and support local biodiversity. By 2030, the UN aims to help 500 cities plant urban forests to make urban life healthier and more sustainable. ✨
#ecology⚡#technology⚡#climate
👉subscribe Interesting Planet
👉more Channels