Что делать если нужно поставить какую-то 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
Papa #LeoneXIV è stato ufficialmente invitato a visitare il #Kazakistan. Lo si apprende dall'Ufficio Stampa del Senato kazako dopo l'udienza concessa dal Pontefice al Presidente del Senato, Maulen Ashimbayev, il quale ha consegnato al Santo Padre l'invito del presidente kazako, Kassym-Jomart Tokayev.
"Il Kazakistan, patria di diverse comunità etniche e religiose, apprezza profondamente il sostegno incrollabile della Santa Sede ai nostri sforzi per promuovere la pace, l'armonia e il rispetto reciproco. Gli speciali legami di amicizia e cooperazione tra il Kazakistan e il Vaticano continuano a rafforzarsi, basandosi sull'eredità dei vostri predecessori, che voi, Santità, state ora sviluppando costantemente con approcci rinnovati - si legge nella missiva consegnata al Pontefice -. Siamo particolarmente grati per il continuo sostegno del Vaticano al Congresso dei leader delle religioni mondiali e tradizionali. Il vostro discorso ai partecipanti all'VIII Congresso, così come la Dichiarazione finale di questo forum, servono da guida spirituale per rafforzare il dialogo globale e contrastare l'estremismo e l'intolleranza. Il Kazakistan sarebbe molto onorato di ospitare Vostra Santità in una visita apostolica quando le sarà più comodo. Sono fiducioso che tale visita ispirerà i rappresentanti delle diverse società della nostra regione e darà nuovo impulso alla nostra ricerca comune per un ordine internazionale più giusto e armonioso".
🇰🇿 In #Kazakistan è stato approvato col 90% dei voti il referendum costituzionale. La nuova costituzione rafforza i poteri del Presidente Kassym #Tokayev, al governo dal 2019. Il fulcro della riforma è l'abolizione del bicameralismo (Senato e Assemblea), sostituito con un Congresso monocamerale di 145 seggi. Inoltre istituisce il "Consiglio del popolo", un organo consultivo che si riunirà una volta all'anno, oltre al ripristino della carica di vicepresidente, soppressa nel 1996. La lingua russa, pur rimanendo ufficiale, viene parzialmente declassata come lingua "parallela" al kazako e non più come "paritaria", riforma che riflette i cambiamenti demografici e maggior autonomia da Mosca.
@UltimoraPolitics24
Le riforme del Kazakistan: stabilità, nuovi poteri e futuro digitale
Nel recente Congresso Nazionale di Qyzylorda, il Presidente Qasym-Jomart Toqaev ha presentato un ambizioso piano di riforme costituzionali e istituzionali per una "nuova fase" di sviluppo del Paese. Ecco i punti chiave:
Successione presidenziale: regole chiare per elezioni entro due mesi in caso di interruzione del mandato, garantendo che il nuovo capo dello Stato venga scelto solo dal voto popolare.
Nuova figura del Vicepresidente: nominato dal Presidente con l’approvazione del Parlamento, per garantire continuità istituzionale e rappresentanza internazionale, senza ridurre i poteri presidenziali.
Parlamento unicamerale (Kurultai): 145 deputati eletti con sistema proporzionale, per snellire i processi decisionali e rafforzare il ruolo dei partiti. Più controllo sull’esecutivo, soprattutto nelle nomine di giudici e organismi chiave.
Trasformazione digitale costituzionalizzata: riconoscimento giuridico della digitalizzazione e dell’IA come pilastri dello sviluppo, con la creazione di zone per data center e un archivio nazionale digitale per preservare cultura e sapere.
Politica estera equilibrata: mantenimento dell’approccio multi-vettoriale, per navigare le tensioni globali e proteggere gli interessi nazionali attraverso il dialogo.
Queste riforme puntano a coniugare stabilità istituzionale, efficienza governativa e innovazione, preparando il Kazakistan alle sfide interne e globali. Una visione che mira a modernizzare lo Stato rafforzando al tempo stesso la sua legittimità e prevedibilità.
#Kazakistan#RiformeCostituzionali#Toqaev#Digitalizzazione#Geopolitica#Sviluppo
https://www.marx21.it/internazionale/riforme-costituzionali-in-kazakistan-il-progetto-di-toqaev-tra-stabilita-istituzionale-nuova-architettura-dei-poteri-e-trasformazione-digitale/
4 membri dell'Organizzazione degli Stati turchi; #Kazakistan, #Turkmenistan, #Uzbekistan e #Kirghizistan, hanno votato, al Consiglio di Sicurezza dell'#ONU per sostenere la sovranità di #Cipro e condannare la presenza della #Turchia sull'isola.