Что делать если нужно поставить какую-то 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
#Elezioni: Uno degli autori della bozza è Peter Ticktin, che ha frequentato la New York Military Academy con Trump e ora è un avvocato in Florida. Ticktin ha fatto parte del team legale di Donald Trump che ha accusato i democratici di aver tentato di danneggiare politicamente il Presidente, sostenendo che la sua campagna avesse collaborato con la Russia nel 2016.
"Secondo la Costituzione, sono i parlamenti statali e gli Stati a controllare come uno Stato gestisce le proprie elezioni e il Presidente non ha alcun potere per farlo. Ma qui abbiamo una situazione in cui il Presidente è a conoscenza del fatto che ci sono interessi stranieri che interferiscono nei nostri processi elettorali; questo crea un'emergenza nazionale che il Presidente ha il diritto di gestire".
La bozza permetterebbe a Trump di proibire il voto via posta e l'uso delle macchine elettorali.
L'Amministrazione Trump sta aprendo delle indagini sulle elezioni del 2020, come dimostra il sequestro delle schede elettorali della Contea di Fulton, in Georgia, da parte della Direttrice dell'Intelligence Nazionale Tulsi Gabbard. Secondo un'inchiesta, nel 2020 la Cina valutò di interferire nelle elezioni, ma decise di non procedere.
Ticktin ha dichiarato di "essere in coordinamento" con la Casa Bianca, senza entrare nei dettagli per timori legati alla sicurezza.
Durante il Discorso sullo Stato dell'Unione, Donald Trump ha chiesto ai repubblicani di approvare il SAVE Act, una misura che imporrebbe di dimostrare la cittadinanza prima di registrarsi al voto. Richiedere una prova di cittadinanza è un processo estremamente difficile e complicato. La norma, approvata alla Camera, è bloccata al Senato. Il Leader di Maggioranza John Thune vorrebbe metterla ai voti nei prossimi giorni ma, senza l'appoggio massiccio dei democratici, non ci sono i voti per superare l'ostruzionismo filibuster. Prima di emanare un ordine esecutivo, Trump vorrebbe però attendere le mosse del Senato.
#Elezioni: Un gruppo di attivisti repubblicani vicini alla Casa Bianca sta facendo circolare una bozza di 17 pagine di un ordine presidenziale che accuserebbe la Cina di aver interferito nelle elezioni del 2020 permettendo a Donald Trump di dichiarare l’emergenza nazionale e ottenere poteri straordinari nella gestione delle elezioni.
#Elezioni: Sondaggio condotto da ABC News, Washington Post in collaborazione Ipsos:
Se le elezioni della Camera dei Rappresentanti si tenessero oggi, voteresti per il candidato democratico o repubblicano nel tuo distretto?
Democratico: 47%
Repubblicano: 45%
Non voterei: 8%
Nel 2022, i repubblicani erano in vantaggio questo sondaggio con un margine di 7%, nel2018 i democratici erano in vantaggio in questo sondaggio con un margine di 12%.
L'elettorato indipendente supporta i democratici con un margine di 15%. Nel 2022, nello stesso sondaggio, gli indipendenti supportarono i repubblicani con un margine di 14% e lo stesso fecero nel 2018.
Campione: 2589 adulti
Margine d'errore: +/- 2%
#Elezioni: Donald Trump ha annunciato che a prescindere dall'approvazione o meno del Congresso, per le Midterm i cittadini dovranno presentare un documento di identità per poter votare.
Potete trovare una spiegazione qui.
#Elezioni: Intervistato dall'ex Vicedirettore dell'FBI Dan Bongino, Donald Trump ha proposto che i repubblicani nazionalizzino i sistemi elettorali, assumendosi un potere che la Costituzione degli Stati Uniti affida esplicitamente e direttamente agli Stati.
Trump ha ripetuto la falsa ricostruzione secondo cui avrebbe vinto in modo eccezionale le elezioni del 2020, motivo per cui "dovremmo prendere il controllo delle elezioni in almeno 15 posti. I repubblicani dovrebbero nazionalizzare il voto". Questo perché gli Stati "sono molto corrotti" e ci sono alcuni "Stati che ho vinto, ma che dicono il contrario". Secondo Trump, inoltre, i migranti irregolari avrebbero votato nel 2020.
La Costituzione stabilisce che "i Tempi, i Luoghi e le Modalità di svolgimento delle Elezioni per i Senatori e i Rappresentanti saranno prescritti in ogni Stato dalla Legislatura dello stesso", ma prevede che "il Congresso può in qualsiasi momento, tramite Legge, fare o alterare tali Regolamenti, eccetto per quanto riguarda i Luoghi di scelta dei Senatori". Il Presidente, e in generale il potere esecutivo, non ha alcun ruolo.
La scorsa settimana, l'FBI ha perquisito gli uffici elettorali della Contea di Fulton, sequestrando tutte le schede elettorali del 2020, i registri contabili delle macchine elettorali, le immagini prodotte e i registri degli elettori. Secondo Trump, da questa inchiesta emergeranno aspetti interessanti, ma non è sceso nei dettagli.
Le accuse di frodi elettorali nel 2020 sono state respinte continuamente e costantemente dai giudici, federali e statali, di ambo gli schieramenti. Tuttavia, non è nemmeno la prima volta che Trump tenta di "federalizzare" le elezioni. Già in agosto, in un post pubblicato su Truth Social, aveva definito gli Stati "semplici 'agenti' per il Governo federale nel contare i voti. Devono fare quello che dice loro il Governo Federale, rappresentato dal Presidente degli Stati Uniti, PER IL BENE DEL PAESE".
#Elezioni: Sabato’s Crystal Ball rivede verso i democratici due rating del Senato.
Il seggio per la Georgia da Toss-Up diventa Leans D, mentre la Florida da Safe R diventa Likely R.
#Elezioni: Nicole Shanahan sarà la candidata vicepresidente di Robert Kennedy Jr.
38enne e avvocata della Silicon Valley, Shanahan ha donato 4.5 milioni di dollari ai super PAC che appoggiano la candidatura di Kennedy, di cui 4 milioni di dollari per pagare uno spot pubblicitario durante il SuperBowl.
È inoltre una donatrice per ricerche sulla salute e sull’ambiente.
#Elezioni: attenzione a commentare il nuovo sondaggio del Washington Post fatto in collaborazione con ABC News.
Il sondaggio vede Donald Trump in vantaggio di 10 punti su Joe Biden.
Si tratta di un sondaggio con risultati nettamente diversi da quelli fatti sino a questo momento e, per tale motivo, il Washington Post suggerisce che il sondaggio stesso sia un “outliner”.
#Italia#Elezioni
Stabilito ufficialmente l'ordine dello scrutinio delle prossime elezioni del 12 giugno: al termine delle votazioni verranno scrutinate le schede per i referendum abrogativi. Verranno scrutinate invece lunedì 13 alle 14:00 le schede per le elezioni amministrative.
@UltimoraPolitics
#Elezioni#Israele
Tra poco saremo in diretta sulla chat vocale del canale per parlare, commentare le elezioni israeliane e togliervi tutti i dubbi sulla politica del paese ebraico. La chat vocale di Telegram funziona come Clubhouse o Spaces di Twitter, per poter parlare usate il tasto che vi farà alzare la mano.
@UltimoraPolitics