Что делать если нужно поставить какую-то 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
#ConciertoParaPiano#Beethoven#MarthaArgerich#DanielBarenboim
Título: Concierto No. 1 para piano y orquesta in C Major, Op. 15
Autor:Ludwig Van Beethoven
Movimientos:
🎵I. Allegro con brio
🎵 II. Largo
🎵 III. Rondo. Allegro scherzando
Interpretación:
Martha Argerich - Piano
Director:
Daniel Barenboim
Fuente: 🎼
@ClasicaAlAtardecer
#ConciertoParaPiano#Beethoven#MarthaArgerich#DanielBarenboim
Título: Concierto No. 1 para piano y orquesta in C Major, Op. 15
Autor:Ludwig Van Beethoven
Movimientos:
🎵I. Allegro con brio
🎵 II. Largo
🎵 III. Rondo. Allegro scherzando
Interpretación:
Martha Argerich - Piano
Director:
Daniel Barenboim
Fuente: 🎼
@ClasicaAlAtardecer
#ConciertoParaPiano#ConciertoN1#Beethoven#MarthaArgerich#DanielBarenboim
EL CONCIERTO PARA PIANO Y ORQUESTA N.º 1 EN DO MAYOR OPUS 15
En el estilo estándar clásico, tiene tres movimientos:
🎵I. Allegro con brio
🎵 II. Largo
🎵 III. Rondo. Allegro scherzando
El primer movimiento, allegro con brio, está escrito en forma sonata. Empieza con una larga exposición orquestal. El tema principal se repite varias veces con varios temas secundarios. Durante la exposición la tonalidad cambia diversas veces. Existe una segunda exposición en sol mayor. Entonces aparece el piano que inicia un desarrollo en varias tonalidades terminando con el glissando de una octava. La recapitulación es en do mayor, la tonalidad inicial. Existen varias opciones para la cadenza, que se diferencian por su longitud y dificultades. La coda es presentada por la orquesta sola.
El segundo movimiento, largo, está escrito en forma ternaria, A, B, A. La sección inicial iniciada por el piano con el tema principal ofrece diversos temas, que son desarrollados en la sección intermedia, separada claramente por unos compases de la orquesta. Los temas se dulcifican durante esta sección. Finalmente se repite la sección inicial. Durante todo el movimiento no interviene la flauta, ni los oboes, trompetas y timbales.
El tercer movimiento, rondo: allegro scherzando, está construido en forma de sonata rondó, dividido en siete secciones. A, B, A, C, A, B, A. El piano presenta el tema principal, un tema rítmico enérgico, siendo después repetido por la orquesta. El retorno del tema principal está separado por los temas secundarios. El movimiento contiene dos breves cadenzas. La primera cadenza del piano se presenta antes del último retorno del tema principal y la segunda antes del final del movimiento, que acaba con un evidente contraste dinámico. Mientras el piano toca una suave melodía la orquesta lo termina con toda su fuerza.
El estilo del concierto demuestra la asimilación por Beethoven de los estilos de Mozart y Haydn, pero sus formas armónicas más bruscas nos muestran la personalidad del compositor.
@ClasicaAlAtardecer
#ConciertoParaPiano#ConciertoN1#Beethoven#MarthaArgerich#DanielBarenboim
EL CONCIERTO PARA PIANO Y ORQUESTA N.º 1 EN DO MAYOR OPUS 15
El concierto para piano y orquesta n.º 1 en Do mayor Opus 15 de Ludwig van Beethoven fue comenzado en 1796, y fue terminado el año siguiente. El estreno fue en Praga en 1798, con el mismo compositor al piano.
Esta obra fue, en realidad, el tercer intento del compositor en este género, que siguió a un concierto no publicado en Mi bemol mayor (no confundir con el Concierto para piano n.º 5), y otro concierto, publicado como n.º 2 en Si bemol, que en realidad fue compuesto alrededor de diez años antes pero no publicado hasta 1801.
La primera audición conocida del concierto fue efectuada por el propio Beethoven en Praga en 1798. El piano está acompañado por una orquesta compuesta por flauta, dos oboes, dos clarinetes, dos fagots, dos trompas, dos trompetas, timbales y cuerda
Como el concierto para piano n.º 2, el concierto en Do mayor refleja la asimilación por parte de Beethoven de los estilos de Mozart y Haydn, mientras que sus cambios armónicos abruptos demuestran la personalidad única de Beethoven.
Fue, sin lugar a dudas, una de las composiciones que gozó de más popularidad en su momento, siendo interpretado por el compositor en múltiples ocasiones por diversas ciudades alemanas y Praga.
@ClasicaAlAtardecer
#ConciertoParaPiano#ConciertoN1#Beethoven#MarthaArgerich#DanielBarenboim
EL CONCIERTO PARA PIANO Y ORQUESTA N.º 1 EN DO MAYOR OPUS 15
En el estilo estándar clásico, tiene tres movimientos:
🎵I. Allegro con brio
🎵 II. Largo
🎵 III. Rondo. Allegro scherzando
El primer movimiento, allegro con brio, está escrito en forma sonata. Empieza con una larga exposición orquestal. El tema principal se repite varias veces con varios temas secundarios. Durante la exposición la tonalidad cambia diversas veces. Existe una segunda exposición en sol mayor. Entonces aparece el piano que inicia un desarrollo en varias tonalidades terminando con el glissando de una octava. La recapitulación es en do mayor, la tonalidad inicial. Existen varias opciones para la cadenza, que se diferencian por su longitud y dificultades. La coda es presentada por la orquesta sola.
El segundo movimiento, largo, está escrito en forma ternaria, A, B, A. La sección inicial iniciada por el piano con el tema principal ofrece diversos temas, que son desarrollados en la sección intermedia, separada claramente por unos compases de la orquesta. Los temas se dulcifican durante esta sección. Finalmente se repite la sección inicial. Durante todo el movimiento no interviene la flauta, ni los oboes, trompetas y timbales.
El tercer movimiento, rondo: allegro scherzando, está construido en forma de sonata rondó, dividido en siete secciones. A, B, A, C, A, B, A. El piano presenta el tema principal, un tema rítmico enérgico, siendo después repetido por la orquesta. El retorno del tema principal está separado por los temas secundarios. El movimiento contiene dos breves cadenzas. La primera cadenza del piano se presenta antes del último retorno del tema principal y la segunda antes del final del movimiento, que acaba con un evidente contraste dinámico. Mientras el piano toca una suave melodía la orquesta lo termina con toda su fuerza.
El estilo del concierto demuestra la asimilación por Beethoven de los estilos de Mozart y Haydn, pero sus formas armónicas más bruscas nos muestran la personalidad del compositor.
@ClasicaAlAtardecer
#ConciertoParaPiano#ConciertoN1#Beethoven#MarthaArgerich#DanielBarenboim
EL CONCIERTO PARA PIANO Y ORQUESTA N.º 1 EN DO MAYOR OPUS 15
El concierto para piano y orquesta n.º 1 en Do mayor Opus 15 de Ludwig van Beethoven fue comenzado en 1796, y fue terminado el año siguiente. El estreno fue en Praga en 1798, con el mismo compositor al piano.
Esta obra fue, en realidad, el tercer intento del compositor en este género, que siguió a un concierto no publicado en Mi bemol mayor (no confundir con el Concierto para piano n.º 5), y otro concierto, publicado como n.º 2 en Si bemol, que en realidad fue compuesto alrededor de diez años antes pero no publicado hasta 1801.
La primera audición conocida del concierto fue efectuada por el propio Beethoven en Praga en 1798. El piano está acompañado por una orquesta compuesta por flauta, dos oboes, dos clarinetes, dos fagots, dos trompas, dos trompetas, timbales y cuerda
Como el concierto para piano n.º 2, el concierto en Do mayor refleja la asimilación por parte de Beethoven de los estilos de Mozart y Haydn, mientras que sus cambios armónicos abruptos demuestran la personalidad única de Beethoven.
Fue, sin lugar a dudas, una de las composiciones que gozó de más popularidad en su momento, siendo interpretado por el compositor en múltiples ocasiones por diversas ciudades alemanas y Praga.
@ClasicaAlAtardecer