Что делать если нужно поставить какую-то 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
Californian Gov. Gavin Newsom labeled JD Vance a “dips--t” in a string of stinging social media posts that included resurfacing images of the vice president in drag.
Vance spoke to reporters after a meeting with President Donald Trump and Democrats on Monday in an effort to avoid a government shutdown that could close services as early as Wednesday.
Little appeared to have been achieved, with both sides blaming the other before the midnight Tuesday deadline.
Newsom shared footage of the vice president from the White House Rapid Response X account pointing the finger at Democrats.
“You don’t put a gun to the American people’s head and say, ‘Unless you do exactly what Senate and House Democrats want you to do, we’re going to shut down your government,’” Vance told reporters outside the White House.
“That’s exactly what they’re proposing out there.”
#Vance#Newsom
👂More on Trump's Ear ⚠️
Academy Award-winning actress Halle Berry lashed out at California Gov. Gavin Newsom on Wednesday, arguing that he overlooks women and shouldn’t “be our next president.”
“At this stage in my life, I have zero f–ks left to give,” Berry said in remarks at the Dealbook Summit before taking aim at the Democratic governor, according to the Hollywood Reporter.
“Back in my great state of California, my very own governor, Gavin Newsom, has vetoed our menopause bill, not one, but two years in a row,” the “Catwoman” star continued. “But that’s OK, because he’s not going to be governor forever, and the way he has overlooked women, half the population, by devaluing us, he probably should not be our next president either. Just saying.”
#Newsom#Hollywood
👂More on Trump's Ear
Il presidente Donald #Trump rilancia su Truth un video generato con intelligenza artificiale che raffigura Barack #Obama e Michelle #Obama come gorilla e ripropone false accuse contro Dominion Voting Systems sulle elezioni 2020, suscitando condanne, tra cui quella dell'ufficio del governatore della California Gavin #Newsom: "comportamento disgustoso da parte del presidente. Ogni singolo repubblicano deve denunciarlo. Adesso".
@UltimoraPolitics24
Gavin Newsom naturally couldn’t resist trolling Donald Trump after the 79-year-old president posted an AI-generated video featuring him he shilling for magic “Medbeds.”
“Trump is about to shut down the government and rip health care from 20 million Americans. What’s he doing? Posting AI-generated slop about ‘miracle hospital beds’ that cure all illness,”
tweeted Newsom, 57.
“DONALD TRUMP HAS LOST IT,”
he added.
#Trump#Newsom#conspiracy
👂More on Trump's Ear ⚠️
Trump's signature will appear on dollar bills for the 250th anniversary of US independence 💵
The signature of US President Donald Trump will appear on new dollar bills that will begin to be printed in 2026. The decision is timed to coincide with the 250th anniversary of the adoption of the US Declaration of Independence, which will be celebrated on July 4, 2026. 🇺🇸
US Secretary of the Treasury Scott Bessent explained that there is no more visible way to celebrate the historical achievements of President Donald Trump than to place his name on dollar bills.
This will be a violation of a tradition that has been in place since the 19th century, when banknotes were traditionally signed by the Secretary of the Treasury and the Treasurer of the United States, rather than by the President. According to American media reports, the first $100 bills with Trump's signature may be printed as early as June.
"Now Americans will know exactly who to blame as they pay more for groceries, gas, rent, and healthcare," Democratic California Governor Gavin Newsom wrote on social media. ⚠️
#Trump#Bessent#Newsom
👂More on Trump's Ear ⚠️
👨👩👧👦📜SUPREME COURT BLOCKS CALIFORNIA FROM HIDING TRANS KIDS
🔹 Major Ruling: The Supreme Court has struck down California's controversial "Safety Act," which banned schools from forcing teachers to "out" trans kids to parents. 🛑🏳️⚧️
🔹 Parental Rights Win: Validating the concerns of conservative parents nationwide, the court affirmed that schools cannot keep secrets from families about a child's identity. 🏆👨👩👧👦
The battle for the classroom continues. For now, parental notification is the law of the land. California loses again. 🏛️
#SCOTUS#TransRights#ParentalRights#California#Education#Newsom
🏛️🇺🇸SCOTUS STRIKES DOWN CA "SAFETY ACT"
🔹 Supreme Court blocks California law that banned schools from "forced outing" of trans kids to parents 🏳️⚧️
🔹 Major victory for parental rights groups; huge blow to Gavin Newsom"s administration agenda 👨👩👧👦
🔹 Schools can now be required to notify parents if a child changes pronouns or identification 📝
🔹 "Parents have a fundamental right to know," say conservative advocates celebrating the ruling 🗣️
🔹 LGBTQ+ groups call it "shocking" and dangerous for vulnerable student populations ⚠️
California vs The Feds part 500. The culture war in schools just got a lot hotter. 🔥
#SCOTUS#California#TransRights#ParentalRights#Education#Newsom
Finally, we are free from the WHO. In this week's Throwback Thursday, we take a look back at the WHO and everything they've done for us in the name of "health."
https://drtenpenny.substack.com/p/tenpenny-throwback-thursday-4ae
#tenpenny#WHO#gavinnewsom#newsom#rfkjr#throwback
🔹👉🏻@SherriTenpenny
#USA#Senate
Il Governatore della #California Gavin #Newsom (#D|Centro-sinistra) ha nominato l'attivista politica Laphonza #Butler come nuova Senatrice, dopo la scomparsa di Dianne #Feinstein.
Laphonza Butler ha 44 anni, è afroamericana, lesbica e dal 2021 è presidente dell’organizzazione EMILY’s List, che si occupa di promuovere l’elezione di donne Democratiche al #Congress.
@OsservatorioEsteri