Что делать если нужно поставить какую-то 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
🟢Une meilleure représentativité pour une #CEDEAO plus proche des peuples
La Communauté économique de l’Afrique de l’Ouest a pour but de devenir la CEDEAO des peuples pour la paix et la prospérité de tous, selon les grandes lignes de sa vision 2050. Pour ce faire, elle prévoit d'impliquer davantage de députés et parlementaires pour la mise en place d’un cadre juridique approprié. Les détails avec Maryam Feudjio.
RT en français • Osez questionner !
🟢Une meilleure représentativité pour une #CEDEAO plus proche des peuples
La Communauté économique de l’Afrique de l’Ouest a pour but de devenir la CEDEAO des peuples pour la paix et la prospérité de tous, selon les grandes lignes de sa vision 2050. Pour ce faire, elle prévoit d'impliquer davantage de députés et parlementaires pour la mise en place d’un cadre juridique approprié. Les détails avec Maryam Feudjio.
RT en français • Osez questionner !
🟢 Une meilleure représentativité pour une #CEDEAO plus proche des peuples
La Communauté économique de l’Afrique de l’Ouest a pour but de devenir la CEDEAO des peuples pour la paix et la prospérité de tous, selon les grandes lignes de sa vision 2050. Pour ce faire, elle prévoit d'impliquer davantage de députés et parlementaires pour la mise en place d’un cadre juridique approprié. Les détails avec Maryam Feudjio.
#AESinfo | #CEDEAO
L'Eco en 2027 : un tournant pour la CEDEAO sur fond de recomposition régionale
C'est une annonce majeure pour l'avenir économique de l'Afrique de l'Ouest. La CEDEAO a annoncé le remplacement du FCFA par la nouvelle monnaie unique, l'Eco, à partir de 2027. Ce projet, attendu depuis longtemps, vise à créer un espace économique intégré et à renforcer la souveraineté monétaire de la région.
Retrouvez l’article complet sur
Twitter X @AESinfos
Facebook https://www.facebook.com/share/1Gr1S6n9dF/?mibextid=wwXIfr
#AESinfo | #CEDEAO
L'AES : Un Partenaire Incontournable pour une Cédéao Renouvelée, selon John Dramani Mahama
Dans un discours vibrant et empreint de sagesse, le président ghanéen John Dramani Mahama a transformé le 50e anniversaire de la Cédéao en un appel passionné à l'unité et à la réconciliation. Soulignant l'importance cruciale de l'écoute et du dialogue, il a plaidé avec force pour la réintégration des États de l'Alliance des États du Sahel (AES) Mali, Burkina Faso et Niger au sein de la communauté régionale.
« La décision de nos frères de l'AES de se retirer est regrettable, mais elle ne doit pas sceller notre destin », a déclaré Mahama, affirmant avec conviction que « l'isolement et la condamnation ne sont pas des options viables ». Au contraire, il a insisté sur la nécessité d'une approche constructive, fondée sur « l'écoute, le dialogue et la volonté d'engager ».
Retrouvez l’article complet sur
Twitter X @AESinfos
Facebook https://www.facebook.com/share/18xmqD9hpk/?mibextid=wwXIfr
#AESinfo | #CEDEAO
Fin de contrat pour les fonctionnaires issus de l'AES
Les fonctionnaires de la CEDEAO originaires du Mali, du Niger et du Burkina Faso ont reçu une notification de fin de contrat. Cette décision fait suite au retrait officiel de ces pays de l'Alliance des États du Sahel (AES) de la CEDEAO, effectif depuis le 29 janvier 2025.
Bien que les modalités de sortie de l'AES de la CEDEAO doivent encore être négociées, le sort des fonctionnaires de l'AES travaillant pour l'organisation sous-régionale est déjà scellé : leurs contrats prendront fin dans huit mois, le 30 septembre prochain.
Les lettres de fin de contrat ont déjà été envoyées. 135 Maliens, Nigériens et Burkinabè sont concernés. Leur nombre était de 130 au mois de juillet, mais des embauches – bien éphémères – avaient ensuite été réalisées.
Retrouvez l’article complet sur
Twitter X @AESinfos
Facebook https://www.facebook.com/share/1BkKnaiNFX/?mibextid=wwXIfr
#AESinfo | #CEDEAO
🇲🇱🇧🇫🇳🇪 Fin d'une ère ! Les drapeaux des pays de l'AES sont retirés du siège de la CEDEAO. Après des décennies d'appartenance, un nouveau chapitre s'ouvre pour ces nations souveraines
#AESinfo | #CEDEAO
La CEDEAO maintient les liens avec le Mali, le Burkina Faso et le Niger : la libre circulation et les avantages économiques se poursuivent
Malgré le retrait du Burkina Faso, de la République du Mali et de la République du Niger de la CEDEAO à compter d'aujourd'hui, la CEDEAO a annoncé qu'elle maintiendrait les avantages de la libre circulation et les avantages économiques pour les citoyens et les entreprises de ces pays.
Dans un communiqué de presse publié aujourd'hui, la CEDEAO a déclaré qu'elle continuerait à reconnaître les passeports et les cartes d'identité nationaux portant le logo de la CEDEAO, et qu'elle maintiendrait le traitement préférentiel pour les biens et services en provenance de ces pays. Les citoyens de ces pays continueront également à bénéficier de la libre circulation, de résidence et d'établissement sans visa.
Retrouvez l’article complet sur
Twitter X @AESinfos
Facebook https://www.facebook.com/share/12D9WQEq4x9/?mibextid=wwXIfr
#AESinfo | #CEDEAO
Voici la nouvelle carte de la CEDEAO après le retrait officiel des pays de l'AES acté aujourd'hui. Une réforme du logo s'impose pour la @ecowas_cedeao
#AESinfo | #CEDEAO
Tiani dénonce les manœuvres françaises et la CEDEAO s'agite et se discrédite !
Le Président du Conseil National pour la Sauvegarde de la Patrie (CNSP) et chef de l'État nigérien, le Général Abdourahmane Tiani, a révélé une information Inédite : la France aurait proposé des fonds aux autorités nigérianes pour établir une base militaire dans l'État de Borno, avec pour objectif manifeste de déstabiliser les pays voisins. Cette déclaration, faite le 25 décembre sur la RTN, met en lumière les agissements troubles de l'ancienne puissance coloniale dans la région.
Retrouvez l’article complet sur
Twitter X @AESinfos
Facebook https://www.facebook.com/share/1DgCui9MiK/?mibextid=wwXIfr
#AESinfo | #CEDEAO
🔴 Diomaye Faye mandaté à nouveau pour réintégrer le Burkina, le Mali et le Niger au sein de la CEDEAO
La CEDEAO, saluant l’importance des efforts déjà accomplis, a renouvelé sa confiance en Bassirou Diomaye Faye. Celui-ci est chargé de conduire une nouvelle mission de médiation visant à trouver des solutions durables aux crises qui touchent le Burkina Faso, le Mali et le Niger, tout en favorisant leur réintégration au sein de l’organisation régionale.
Source : @PR_Senegal
#AESinfo | #CEDEAO
La CEDEAO Valide le Départ de l'AES… Mais Propose Six Mois de Plus ? Un Départ "Avec Sursis" ?
Le sommet d'Abuja du 15 décembre a pris une décision pour le moins paradoxale concernant l'Alliance des États du Sahel (AES). Alors que le départ des trois pays de la CEDEAO est acté et que la date du 29 janvier est maintenue, une "période de grâce" de six mois est également mise en place.
Le sommet a donc confirmé la date du 29 janvier comme date effective de la sortie de l'AES de la CEDEAO. Cependant, il a également été décidé d'octroyer une période de six mois suivant cette date. Cette période est officiellement destinée à poursuivre les efforts de médiation. Parallèlement, un plan de contingence sera mis en œuvre dès le 29 janvier.