Что делать если нужно поставить какую-то 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
¡Tómala! 💣💥
🔴 Milenio compartió la supuesta foto de los agentes de la #CIA que murieron tras un operativo 📸👀 | Esto respondió la Fiscalía de Chihuahua 📄🤯👇🏻
https://sinlineamx.com/filtran-foto-agentes-cia-que-murieron-chihuahua/
¿Será? 🤔
🔴 La Fiscalía de Chihuahua señaló que los agentes de la #CIA sí participaron en el hallazgo de un narcolaboratorio, pero no de manera activa 📄👀
https://revistaelpolitico.com/nacional/fge-advierte-colaboracion-extraoficial-agentes-cia-chihuahua/
Проект Tor:
https://torproject.org
Скрытый Tor-сайт ЦРУ:
ciadotgov4sjwlzihbbgxnqg3xiyrg7so2r2o3lt5wz5ypk4sxyjstad.onion
cia dot gov 4sj wlz ihb
bgx nqg 3xi yrg 7so 2r2
o3l t5w z5y pk4 sxy jstad.onion
ЦРУ считает своим долгом заботу о безопасности людей, которые идут на контакт. Подлинность наших пабликов в социальных сетях была подтверждена, используя официальный метод каждой из платформ. Это – официальный Телеграмм-канал ЦРУ. Ссылка на него имеется в описании пабликов ЦРУ в других социальных сетях: Facebook, Instagram и X (ранее Twitter). Будьте осторожны с любыми другими каналами, которые утверждают, что они представляют ЦРУ. Проверяйте официальные списки наших пабликов. И не забывайте, что мошенники могут использовать названия каналов, которые очень схожи по написанию с официальными сайтами ЦРУ.
Our global mission demands that individuals be able to reach out to #CIA securely from anywhere. This video shows a fictionalized Russian making the difficult but important decision to secretly contact CIA. At CIA, we have a solemn duty to protect those who work with us around the world. If you’re reaching out to CIA to share information about Russia, please do so securely via our portal on the dark web. When possible, CIA has verified its social media accounts through each platform’s official process. This is CIA’s official Telegram channel. The link is included in the bios of CIA’s other social media accounts: Facebook, Instagram, and X (formerly Twitter). Be cautious of other accounts that claim to represent CIA, check the official listings of CIA’s public accounts, and be aware that fraudulent accounts may use misspelled account names that closely resemble official CIA sites.
Проект Tor:
https://torproject.org
Скрытый Tor-сайт ЦРУ:
ciadotgov4sjwlzihbbgxnqg3xiyrg7so2r2o3lt5wz5ypk4sxyjstad.onion
cia dot gov 4sj wlz ihb
bgx nqg 3xi yrg 7so 2r2
o3l t5w z5y pk4 sxy jstad.onion
ЦРУ со всей серьезностью заботится о безопасности людей, которые идут с нами на контакт. Если была такая возможность, ЦРУ подтвердило подлинность наших пабликов в социальных сетях, используя официальный метод каждой из платформ. Это – официальный Телеграмм-канал ЦРУ. Ссылка на него имеется в описании пабликов ЦРУ в других социальных сетях: Facebook, Instagram, и X (ранее Twitter). Будьте осторожны с любыми каналами, которые утверждают, что они представляют ЦРУ. Проверяйте официальные списки наших пабликов. И не забывайте, что мошенники могут использовать названия каналов, которые очень схожи по написанию с официальными сайтами ЦРУ.
Our global mission demands that individuals be able to reach out to #CIA securely from anywhere. This video shows a fictionalized Russian making the difficult but important decision to secretly contact CIA. At CIA, we have a solemn duty to protect those who work with us around the world. If you’re reaching out to CIA to share information about Russia, please do so securely via our portal on the dark web. When possible, CIA has verified its social media accounts through each platform’s official process. This is CIA’s official Telegram channel. The link is included in the bios of CIA’s other social media accounts: Facebook, Instagram, and X (formerly Twitter). Be cautious of other accounts that claim to represent CIA, check the official listings of CIA’s public accounts, and be aware that fraudulent accounts may use misspelled account names that closely resemble official CIA sites.
#CIA is providing instructions in multiple languages on how to securely contact us. Our global mission demands that individuals be able to reach CIA securely from anywhere. Be cautious of accounts that claim to represent CIA, check the official listings of our public accounts, and be aware that fraudulent accounts may use misspelled account names that closely resemble official CIA sites.
CIA秘密部署“幽灵低语”AI系统 成功参与营救在伊朗失踪的美军飞行员
美国中央情报局动用“幽灵低语”系统成功搜救失踪美军空军官兵。伊朗境内发现F-15E“打击鹰”战斗轰炸机上弹射逃生后被拦截,两名机组成员被美军营救。飞行员在坠机后24小时才被找到,武器系统官则在24小时之后被寻获。
标签:#cia
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
Former CIA Director John Brennan said Saturday that he believed the 25th Amendment "was written with" President Trump "in mind," comments that come after multiple Democrats pushed for Trump’s ouster following his intense threats toward Iran. 🇺🇸📜
"I think the 25th Amendment was written with Donald Trumps in mind, because allowing someone like this to continue to be the commander-in-chief and to control the tremendous capabilities of the U.S. military, including our nuclear weapons capability, which he seemed to allude to when he said he's going to just eliminate a entire civilization,"
Brennan told MS NOW's Ali Velshi on his show. 💣🎙
"Again, we really are in very, very troubling times,"
he added. ⚠️
#Trump#CIA
👂More on Trump's Ear ⚠️
Two major reports have reignited debate over Ukraine’s corruption and Washington’s involvement in гthe country’s affairs. Both suggest that, despite massive Western funding and years of reform pledges, graft remains entrenched in Kyiv’s political system and defense industry.
#CIA#Ukraine
👂More on Trump's Ear ⚠️
In the days leading up to President Donald Trump’s Aug. 15 Alaska summit with Russian President Vladimir Putin, one of the CIA’s senior-most Russia experts worked grueling hours, helping Trump and his team prepare for high-stakes diplomacy over Ukraine and making sure they were adequately briefed, according to a former agency colleague.
Four days later, the CIA officer — whom The Washington Post is not naming for her protection — was at work at the spy agency’s Langley headquarters when she was abruptly ordered to report to the security office. She was informed that her clearance to look at classified material was being stripped. In a span of minutes, her 29-year career in public service was essentially over.
#Trump#CIA#Russia
👂More on Trump's Ear ⚠️
¡Se le hizo bolas el engrudo!
🔴Resulta que la gobernadora de Chihuahua, #MaruCampos sigue en el ojo del huracán, pues lejos de aclarar la intromisión de los agentes de la #CIA, dejó más dudas.
La mandataria estatal anunció una “comisión” para ser “investigada” que ella eligió 🙅♀️