Что делать если нужно поставить какую-то 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
#Concierto5#Emperador#Beethoven#MaurizioPollini#DanielePollini
Título:Concierto para piano y orquesta nº 5, en mi bemol mayor, op. 73, "Emperador"
Autor:Ludwig van Beethoven
Movimientos:
🎵 00:35 I. Allegro
🎵 21:00 II. Adagio un poco mosso
🎵 28:53 III. Allegro ma non troppo
Interpretación:
Orquesta Sinfónica de Galicia
Maurizio Pollini - Piano
Director:Daniele Pollini
Fuente:🎼
@ClasicaAlAtardecer
#Concierto5#Emperador#Beethoven#MaurizioPollini#DanielePollini
EL CONCIERTO PARA PIANO N.º 5 EN MI BEMOL MAYOR, OP. 73
El concierto para piano n.º 5 en mi bemol mayor, op. 73, conocido popularmente como «Emperador», fue el último concierto para piano del compositor Ludwig van Beethoven. Fue escrito entre 1809 y 1811 en Viena y está dedicado a Rodolfo de Austria, protector y pupilo de Beethoven. En 1812 Carl Czerny, alumno del compositor, estrenó la obra en Viena. El sobrenombre de «Emperador» no fue asignado por el propio Beethoven sino por Johann Baptist Cramer, el editor inglés del concierto.
El Emperador está dividido en los tres movimientos tradicionales de los conciertos:
🎵I. Allegro
🎵 II. Adagio un poco mosso
🎵 III. Rondo - Allegro ma non troppo
El primer movimiento se abre con un grandioso acorde de MI bemol para toda la orquesta, interrumpido por una serie de arpegios igualmente imponentes para el solo, sugiriendo una cadencia temprana. Pero en lugar de ello, Beethoven alterna pronunciamientos poderosos para la orquesta y el piano. La introducción terminó, el piano ofrece un tema amplio y arrogante del cual (y del subsiguiente, más tenue, segundo tema) Donald Francis Tovey escribió: "La orquesta no sólo es sinfónica, sino que está capacitada por la necesidad misma de acompañar ligeramente al solo para producir efectos orquestales etéreos queestán en una categoría bastante diferente de cualquier cosa en las sinfonías. Por otra parte, la parte solista desarrolla la técnica de su instrumento con una libertad y brillantez para la que Beethoven no tiene ocio en las sonatas y la música de cámara".
El segundo movimiento es una de las inspiraciones sublimes del compositor. Las cuerdas silenciadas tocan un tema de incomparable belleza y triste ternura, la piano respuesta en trillizos silenciosos y descendentes, creando una sutil tensión hasta que el tema queda totalmente expuesto. El carácter nocturno del movimiento se ve favorecido por un delicado equilibrio de suaves vientos de madera, cuerdas y el solo, a medida que la música se desvanece misteriosamente. Luego, sobre una nota de trompeta sostenida, el piano introduce, suave y tranquilo andante, el tema del rondó final. De repente, dramáticamente, el tema final piano se precipita, un grandioso y exuberante allegro.
El tercer movimiento sigue ininterrumpidamente al segundo y es un típico rondó italiano, de la forma (ABACABA). El tema principal es interpretado por el piano y luego respondido por la orquesta. Escalas en el piano introducen el segundo tema, que también es respondido por la orquesta. En la sección C, mucho más larga, se presenta el tema A en tres tonalidades diferentes.
En ella, Beethoven nos enseña el tema principal en tres tonalidades diferentes, demostración inequívoca de su pericia en el arte de la modulación y el juego formal. De igual modo, mención especial cabríahacer del final del concierto, donde un solitario dúo entre el solista y el timbal parece generar un diálogo a punto de detenerseen una mansa quietud que será rápidamente desquebrajada por el piano, cuyo explosivo final contagiará de su brioso ímpetu a toda la orquesta
Así pues, podemos afirmar sin miedo a caer en ninguna ponderación desmesurada que el concierto “Emperador” de Beethoven es mucho más que una obra icónica en el repertorio para piano y orquesta. Su quinto concierto no solo abre la puerta hacia el concierto romántico, sino que la traspasa. La nobleza de sus exhalaciones y el sentido triunfal de las mismas hacen que esta partitura siga deslumbrando doscientos años después de ser concebida. Un sentido triunfal que, paradójicamente, en su vida apenas hallamos; quizá por este motivo, Beethoven nos legó este concierto como el mejor de los consuelos para las derrotas de nuestra propia condición humana.
@ClasicaAlAtardecer
#Concierto5#Emperador#Beethoven#MaurizioPollini#DanielePollini
Título:Concierto para piano y orquesta nº 5, en mi bemol mayor, op. 73, "Emperador"
Autor:Ludwig van Beethoven
Movimientos:
🎵 00:35 I. Allegro
🎵 21:00 II. Adagio un poco mosso
🎵 28:53 III. Allegro ma non troppo
Interpretación:
Orquesta Sinfónica de Galicia
Maurizio Pollini - Piano
Director:Daniele Pollini
Fuente:🎼
@ClasicaAlAtardecer
#Concierto5#Emperador#Beethoven#MaurizioPollini#DanielePollini
EL CONCIERTO PARA PIANO N.º 5 EN MI BEMOL MAYOR, OP. 73
El concierto para piano n.º 5 en mi bemol mayor, op. 73, conocido popularmente como «Emperador», fue el último concierto para piano del compositor Ludwig van Beethoven. Fue escrito entre 1809 y 1811 en Viena y está dedicado a Rodolfo de Austria, protector y pupilo de Beethoven. En 1812 Carl Czerny, alumno del compositor, estrenó la obra en Viena. El sobrenombre de «Emperador» no fue asignado por el propio Beethoven sino por Johann Baptist Cramer, el editor inglés del concierto.
El Emperador está dividido en los tres movimientos tradicionales de los conciertos:
🎵I. Allegro
🎵 II. Adagio un poco mosso
🎵 III. Rondo - Allegro ma non troppo
El primer movimiento se abre con un grandioso acorde de MI bemol para toda la orquesta, interrumpido por una serie de arpegios igualmente imponentes para el solo, sugiriendo una cadencia temprana. Pero en lugar de ello, Beethoven alterna pronunciamientos poderosos para la orquesta y el piano. La introducción terminó, el piano ofrece un tema amplio y arrogante del cual (y del subsiguiente, más tenue, segundo tema) Donald Francis Tovey escribió: "La orquesta no sólo es sinfónica, sino que está capacitada por la necesidad misma de acompañar ligeramente al solo para producir efectos orquestales etéreos queestán en una categoría bastante diferente de cualquier cosa en las sinfonías. Por otra parte, la parte solista desarrolla la técnica de su instrumento con una libertad y brillantez para la que Beethoven no tiene ocio en las sonatas y la música de cámara".
El segundo movimiento es una de las inspiraciones sublimes del compositor. Las cuerdas silenciadas tocan un tema de incomparable belleza y triste ternura, la piano respuesta en trillizos silenciosos y descendentes, creando una sutil tensión hasta que el tema queda totalmente expuesto. El carácter nocturno del movimiento se ve favorecido por un delicado equilibrio de suaves vientos de madera, cuerdas y el solo, a medida que la música se desvanece misteriosamente. Luego, sobre una nota de trompeta sostenida, el piano introduce, suave y tranquilo andante, el tema del rondó final. De repente, dramáticamente, el tema final piano se precipita, un grandioso y exuberante allegro.
El tercer movimiento sigue ininterrumpidamente al segundo y es un típico rondó italiano, de la forma (ABACABA). El tema principal es interpretado por el piano y luego respondido por la orquesta. Escalas en el piano introducen el segundo tema, que también es respondido por la orquesta. En la sección C, mucho más larga, se presenta el tema A en tres tonalidades diferentes.
En ella, Beethoven nos enseña el tema principal en tres tonalidades diferentes, demostración inequívoca de su pericia en el arte de la modulación y el juego formal. De igual modo, mención especial cabríahacer del final del concierto, donde un solitario dúo entre el solista y el timbal parece generar un diálogo a punto de detenerseen una mansa quietud que será rápidamente desquebrajada por el piano, cuyo explosivo final contagiará de su brioso ímpetu a toda la orquesta
Así pues, podemos afirmar sin miedo a caer en ninguna ponderación desmesurada que el concierto “Emperador” de Beethoven es mucho más que una obra icónica en el repertorio para piano y orquesta. Su quinto concierto no solo abre la puerta hacia el concierto romántico, sino que la traspasa. La nobleza de sus exhalaciones y el sentido triunfal de las mismas hacen que esta partitura siga deslumbrando doscientos años después de ser concebida. Un sentido triunfal que, paradójicamente, en su vida apenas hallamos; quizá por este motivo, Beethoven nos legó este concierto como el mejor de los consuelos para las derrotas de nuestra propia condición humana.
@ClasicaAlAtardecer