Что делать если нужно поставить какую-то 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
🇷🇺🇺🇾 Sobre la participación del Embajador de Rusia en la ceremonia de presentación de un nuevo proyecto de infraestructura
El 16 de abril el Embajador de Rusia en Uruguay Alexey Isakov asistió a un evento en el Departamento de Florida con motivo del lanzamiento de un parque industrial y un “puerto seco”, con la participación del Intendente de este Departamento Carlos Enciso, Ministra de Industria, Energía y Minería de Uruguay Fernanda Cardona, así como representantes de ministerios, organismos gubernamentales, parlamento, cuerpo diplomático y círculos empresariales.
Durante la reunión con las autoridades de Florida, se discutieron las áreas perspectivas del intercambio regional.
#RusiaUruguay
🇷🇺🇺🇾 Sobre la participación del Embajador de Rusia en la ceremonia de presentación de un nuevo proyecto de infraestructura
El 16 de abril el Embajador de Rusia en Uruguay Alexey Isakov asistió a un evento en el Departamento de Florida con motivo del lanzamiento de un parque industrial y un “puerto seco”, con la participación del Intendente de este Departamento Carlos Enciso, Ministra de Industria, Energía y Minería de Uruguay Fernanda Cardona, así como representantes de ministerios, organismos gubernamentales, parlamento, cuerpo diplomático y círculos empresariales.
Durante la reunión con las autoridades de Florida, se discutieron las áreas perspectivas del intercambio regional.
#RusiaUruguay
🤝Sobre la reunión del Embajador de Rusia con el jefe del Departamento uruguayo de Florida
El 6 de abril el Embajador de Rusia en Uruguay Alexey Isakov se reunió con el Intendente del Departamento de Florida, Carlos Fernando Enciso.
Durante el encuentro se discutieron las perspectivas del desarrollo de los vínculos interregionales en diversos ámbitos.
🇷🇺🇺🇾
#RusiaUruguay
🌎Sobre la reunión en la agencia de exportaciones e inversiones Uruguay XXI
El 27 de marzo el Embajador de Rusia en Uruguay Alexey Isakov se reunió con el Vicedirector Ejecutivo de la Agencia Nacional de Promoción de Exportaciones e Inversiones “Uruguay XXI” Martín Mercado.
Durante el encuentro se analizaron cuestiones relativas a la ampliación de la cooperación bilateral en el ámbito comercial, económico y otras áreas, incluyendo la colaboración entre los círculos empresariales de ambos países.
🇷🇺🤝🇺🇾
#RusiaUruguay
🇷🇺🇺🇾 Sobre la reunión con un representante del Departamento uruguayo de Canelones
El 26 de marzo el Embajador de Rusia en Uruguay Alexey Isakov se reunió con el Director de la Secretaría de Relaciones Internacionales y Gobierno Abierto del departamento uruguayo de Canelones, Mauricio Rompani.
Se llevó a cabo el intercambio de opiniones sobre las perspectivas de desarrollo de las relaciones interregionales bilaterales.
#RusiaUruguay
🎬🎥Sobre la reunión del Embajador con la dirección de la Cinemateca
El 19 de marzo el Embajador de Rusia en Uruguay Alexey Isakov mantuvo la reunión con los directivos del popular cine de la capital “Cinemateca”, María Santacreu y Alejandra Trelles.
Se discutieron las perspectivas de cooperación en el ámbito cinematográfico.
#RusiaUruguay
📖 La reunión del Embajador de Rusia con un parlamentario uruguayo
El 4 de marzo el Embajador de Rusia en Uruguay Alexey Isakov se reunió con el diputado de la Cámara de Representantes de la Asamblea General del Uruguay del Frente Amplio, Víctor Aldaya.
Durante el encuentro se intercambiaron opiniones sobre la ampliación de los vínculos interparlamentarios y el desarrollo de intercambios bilaterales en el ámbito educativo.
#RusiaUruguay
🇷🇺🇺🇾
⚡️ Sobre la entrevista del director del Departamento Latinoamericano del MAE ruso Alexander Shchetinin para un medio uruguayo
El 27 de febrero el grupo mediático uruguayo “Grupo R Multimedio” publicó una entrevista con el representante especial del Ministro de Asuntos Exteriores de Rusia para las relaciones con los países de América Latina y el Caribe, director del Departamento Latinoamericano del Ministerio de Asuntos Exteriores Alexander Shchetinin.
En la entrevista se abordan en detalle las cuestiones actuales de la cooperación de Rusia con los paises de la región, incluyendo Uruguay, en diversos ámbitos.
👉DIARIO LA R
👉YouTube
#RusiaUruguay
‼️SOBRE LAS CONSULTAS RUSO-URUGUAYAS
▫️ El 26 de febrero en Montevideo se celebraron consultas interministeriales con la participación del representante especial del Ministro de Relaciones Exteriores de Rusia para las relaciones con los países de América Latina y el Caribe, director del Departamento Latinoamericano del Ministerio de Asuntos Exteriores, Alexander Shchetinin, y Director General para Asuntos Políticos del Ministerio de Relaciones Exteriores de Uruguay Martín Vidal.
▫️ Se llevó a cabo un intercambio de opiniones sobre una amplia gama de cuestiones relacionadas con la evolución de la situación en la región, incluidos temas específicos de distintos países, así como los contactos con los mecanismos de integración de América Latina, entre ellos la Comunidad de Estados Latinoamericanos y Caribeños (CELAC) y el Mercado Común del Sur (MERCOSUR), en los que Uruguay ejercerá este año la presidencia pro tempore. Se examinaron algunos problemas internacionales actuales y la cooperación en el marco de la Organización de las Naciones Unidasy otros foros. Se prestó atención especial a la necesidad de segiur ampliando las relaciones bilaterales entre Rusia y Uruguay en diversas esferas de interés común.
🤝 En una reunión aparte con los senadores Danel Caggiani y Blanca Rodríguez se abordaron las perspectivas de activar los intercambios interparlamentarios.
▫️ Alexander Shchetinin también se reunió con el Secretario General de la Asociación Latinoamericana de Integración (ALADI) Sergio Abreu, para comprobar las posiciones sobre la situación actual en América Latina y el Caribe, así como sobre el desarrollo de los contactos de Rusia con los mecanismos de integración regionales.
❕ Por nuestra parte se expresó la disposición a promover los contactos entre la ALADI y la Comisión Económica Euroasiática.
#RusiaUruguay
🇷🇺🇺🇾
🇷🇺🇷🇺En Uruguay se celebró el Día del Defensor de la Patria
El 20 de febrero, en la Embajada de Rusia en Uruguay, se celebró una recepción solemne con motivo del Día del Defensor de la Patria. Al evento asistieron los representantes de las Fuerzas Armadas uruguayas y del cuerpo militar-diplomático de países amigos.
🇷🇺 En su intervención, el Embajador de RusiaAlexey Isakov rindió homenaje a nuestros militares que, con valentía, siguen defendiendo la Patria durante los siglos. Señaló que las Fuerzas Armadas de Rusia, en el espíritu de sus gloriosas tradiciones, continúan en el marco de la operación militar especial defendiendo abnegadamente los intereses nacionales y la vida pacífica de nuestro pueblo.
🇷🇺 El Agregado Militar, Aéreo y Naval Coronel Andrian Kuzmín habló brevemente sobre la historia de la festividad y los principales hitos de las heroicas victorias del ejército y la flota rusos. Subrayó que también hoy, en el transcurso de la operación militar especial, nuestros militares cumplen con honor su deber de garantizar la seguridad de la Patria.
🇷🇺🇺🇾
#RusiaUruguay
🇷🇺Sobre la celebración de la Maslenitsa en Uruguay
El 21 de febrero en el Centro Cultural Máximo Gorki de Montevideo se celebró un acto solemne dedicado a la Maslenitsa.
En la fiesta estuvieron presentes funcionarios de nuestra misión diplomática, representantes de la diáspora rusa y miembros activos del Consejo Coordinador de las Organizaciones de Compatriotas Rusos en Uruguay (CCOCRU).
🇷🇺🇷🇺 Ante los invitados se presentaron grupos artísticos. Para los niños se organizó un programa recreativo con concursos y juegos, y les ofrecieron golosinas. La celebración concluyó con la tradicional quema del muñeco que simboliza el invierno.
Además, el 19 de febrero en el marco de la semana de la Maslenitsa, se realizó un evento organizado por el CCOCRU con la participación del conjunto musical uruguayo «Mi Vieja Mula». Durante la velada se interpretaron canciones populares rusas y se ofreció una merienda con té y blinis.
Los encuentros se desarrollaron en un ambiente cálido y amistoso.
🇷🇺🇺🇾
#RusiaUruguay
🌟📨Sobre la visita del Embajador de Rusia al Correo Uruguayo
El 13 de febrero el Embajador de Rusia en Uruguay Alexey Isakov se reunió con el Presidente del Correo Uruguayo Gabriel Bonfrisco.
Durante el encuentro intercambiaron opiniones sobre las perspectivas de profundizar la cooperación entre los servicios postales de ambos países en diversos ámbitos.
🇺🇾🇷🇺
#RusiaUruguay