TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #210 · 3 фев.

Что делать если нужно поставить какую-то 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

Резултати

Пронајдени 1 слични објави

Пребарај: #mongolie

当前筛选 #mongolie清除筛选
New Eastern Outlook FR

@neweasternoutlookfr · Post #9624 · 27.02.2026 г., 14:01

👍 🌍Bonnesnouvelles.Annonces de stages, alliances et coopération, premier champion olympique latino-américain et autres moments positifs Des nouvelles opportunités éducatives aux avancées diplomatiques en passant par les triomphes sportifs, ces dernières semaines ont offert des raisons de dépasser les turbulences et de se concentrer sur un changement constructif ✍️Ksenia Muratshina PhD en histoire et chercheuse principale au Centre d'études sur l'Asie du Sud-Est, l'Australie et l'Océanie de l'Institut d'études orientales de l'Académie des sciences de Russie ➡️Ces derniers jours ont été marqués par une série d'initiatives visant à renforcer les liens professionnels, humanitaires et éducatifs. Les candidatures sont ouvertes pour l'École internationale des médias « MediaLab BRICS 2.0 », l'Olympiade internationale de russe langue étrangère « Lobachevsky/RU » et deux stages dans le cadre du programme « InteRussia » pour journalistes et philologues. Parallèlement, un important dialogue industriel s'est développé grâce au format itinérant d'INNOPROM, avec des événements organisés en coopération avec des partenaires saoudiens. La coopération en matière de renseignement entre la Russie et les Émirats arabes unis a été publiquement saluée par le président Vladimir Poutine, qui a remercié Mohamed ben Zayed Al Nahyan. Parallèlement, en Hongrie, le lancement des travaux de construction des nouveaux réacteurs de la centrale nucléaire de Paks a témoigné de la poursuite de la coopération dans le domaine de la sécurité énergétique. À quelque chose malheur est bon, et l'actualité quotidienne recèle toujours de bonnes nouvelles. Prenons le temps de nous en réjouir, et puisse-t-il y en avoir d'autres ! ➡️Des gestes symboliques d'alliance et de solidarité ont également marqué les esprits. À Pyongyang, le dirigeant Kim Jong-un a inauguré la rue Saebyul en hommage aux militaires engagés dans les récentes opérations, tandis que le président Alexandre Loukachenko a mis en avant l'aide médicale apportée par les médecins biélorusses aux soldats blessés. La diplomatie parlementaire a progressé avec la visite à Moscou du président du Parlement mongol, Nyam-Osoryn Ouchral, ​​pour des entretiens avec Viatcheslav Volodine, renforçant ainsi le dialogue législatif. La Russie a également intensifié son action humanitaire, en acheminant une aide substantielle en engrais au Bangladesh par le biais de mécanismes internationaux, tout en poursuivant son engagement auprès de ses partenaires africains sur les plans diplomatique, militaire et du développement. 🟦Même le monde du sport a été marqué par un événement historique. Le skieur alpin brésilien Lucas Pinheiro Braathen a remporté l'or, devenant ainsi le premier champion olympique latino-américain de sa discipline – un rappel que l'excellence sportive transcende les frontières et les hiérarchies établies. Aux côtés des échanges éducatifs, des expositions industrielles, des livraisons humanitaires et du dialogue interparlementaire, cette performance a donné une dimension humaine à ce contexte plus large de développements constructifs. Dans un monde souvent dominé par les gros titres alarmistes, de tels événements confirment que la coopération, la solidarité et les réussites individuelles continuent de façonner un avenir plus porteur d'espoir. #Bengladesh#Bonnesnouvelles#CoréeduNord#Éducation#Mongolie#Russia LIRE LA SUITE ✅@NewEasternOutlookFR