Что делать если нужно поставить какую-то 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
🇺🇸New York Proposes Restrictions on AI Chatbots to Protect Children Online
New York Governor Kathy Hochul unveiled State of the State proposals aimed at protecting children from online harms, including predators, scams, and harmful AI chatbots integrated into digital platforms. The legislative package targets social media and online gaming services and explicitly includes disabling certain AI chatbot features for minors. The initiative is framed as part of a broader response to the youth mental health crisis.
The proposals would expand age verification requirements across platforms, mandate “privacy by default” settings for children, restrict unsolicited contact and location sharing, and require parental approval for connections for users under 13. Parents would also gain controls over children’s financial transactions. These measures build on prior New York actions, including bans on smartphones in schools, social media warning labels, restrictions on addictive feeds, and safeguards against AI companions.
In parallel, the Governor proposed a statewide expansion of Teen Mental Health First Aid training, with the goal of enabling every tenth grader to receive training. The initiative complements the expansion of school-based mental health clinics and peer support programs, positioning New York as a leading U.S. jurisdiction linking AI governance, platform regulation, and youth mental health policy.
#AIRegulation#ChildSafety#AIChatbots
Stanford Research Raises Concerns aboutChatbots Use in Legal Field
Greetings everyone! Stanford University's latest research unveils unsettling truths about popular AI chatbots, including OpenAI's ChatGPT and Google's PaLM 2. When faced with legal questions, these widely-used models exhibited "hallucinations" in responses a staggering 75% of the time.
The implications are particularly worrisome for self-represented litigants who rely on these AI tools due to financial constraints. As hopes for AI aiding legal services soar, the study underscores the urgent need for refining these models to ensure accurate and reliable legal assistance
#AILaw#LegalTech#AIChatbots#LegalServices#StanfordResearch
UK Passes Online Safety Bill - AI Chatbots Included
Hello, dear subscribers! The UK's Online Safety Bill, designed to regulate online platforms and protect users, has received approval from the House of Lords, taking it one step closer to becoming law.
This comprehensive 300-page legislation addresses various aspects, from combating the spread of illegal content online to safeguarding social media users from online harassment. Notably, now it introduces provisions concerning AI chatbots like ChatGPT and aims to protect users from harmful content.
#OnlineSafetyBill#AIChatbots#Deepfake#UKRegulation#OnlineSafety
😈Yandere AI maid to fulfill your fantasies. 😈
📲Download and play: http://openlove.life
#AIgirlfriend#roomescape#aigame#aichatbots#neko#catgirl#maid#女仆装