Что делать если нужно поставить какую-то 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
Hoy estuvimos en el entrenamiento de Golfi, una perrita K9 que se entrena para buscar personas que desaparecen en terrenos amplios, como el Ajusco.
Necesitábamos una víctima y Eddy, nuestro productor, fue elegido para el acto. ¿Nervioso? Sí, pero lo hizo muy bien... ¡tanto como Golfi!
Les dejo un poco de lo vivido ese día y esperen pronto el reportaje en nuestra señal.
¡Besos!
🧑💻#PamQuibec🌷
Día a día con🎤@RTReporteros
🐦 (X) Twitter
¡Colaboradora inagotable!
Hoy la corresponsalía de México tuvo en sus filas a una trabajadora llena de vitalidad y entusiasmo.
Se coló al estudio, dio todas sus tomas a la primera y, aunque es muy nueva frente a la cámara, mostró talento nato. 😂
¡No les cuento más!
Les dejamos besos.
🧑💻#PamQuibec🌷
Día a día con🎤@RTReporteros
🐦 (X) Twitter
¡Día mundial del teatro! 🎭
Como muchos de ustedes saben, mi corazón está dividido en dos: periodismo y teatro.
¿Dónde se entrelazan? En la esencial tarea de contar historias.
Hoy toca celebrar la magia que proponen las tablas, ya sea desde arriba o desde las butacas y decirle gracias por dejarme ser el conducto por donde muchos personajes han cobrado vida, como los que les muestro en el video...
¡Que viva el teatro!
🧑💻#PamQuibec🌷
Día a día con🎤@RTReporteros
🐦 (X) Twitter
¿Quién es su escritor favorito?
El mío, hoy, -si viviera- estaría cumpliendo 100 años. ¿Su nombre? Jaime Sabines.
De hecho, su libro vive en el buró junto a mi cama, siempre a la mano para cuando se necesite un poquito de poesía.
Es por eso que les dejo, uno de sus escritos. Nada mejor para mantener vivo a un escritor, que seguir leyendo sus letras.
Les dejo un beso
🧑💻#PamQuibec🌷
Día a día con🎤@RTReporteros
🐦 (X) Twitter
¡Arrancamos un nuevo Reporta!
Hemos estado hoy con una mujer espectacular que nos ha compartido sus tradiciones y cultura.
Sentadas en el piso, pudimos intercambiar palabras, ideas y, sobre todo... sonrisas.
Prometo contarles más.
¡Besos!
🧑💻#PamQuibec🌷
Día a día con🎤@RTReporteros
🐦 (X) Twitter
El arte de improvisar.
Ayer domingo, yo seguía de vacaciones, pero la noticia en México era histórica. Uno de los capos mas peligrosos había caído.
Estaba en la terminal de autobuses y desde ahí tocó hacer enlaces... usando lo que tenía a la mano para poder salir al aire.
Y eso. Quería enseñarles, mis "tripies" de ayer 😂
Ya para hoy, fui a comprar equipo para que saliera todo, más profesional.
Los veo al aire?
🧑💻#PamQuibec🌷
Día a día con🎤@RTReporteros
🐦 (X) Twitter
La caída de uno de los narcotraficantes más buscados del mundo ha afectado a miles de personas, que buscaban hoy tomar un autobús para viajar a diferentes destinos.
Las carreteras están bloqueadas y lo que toca es esperar a que las cosas se tranquilicen.
Mientras, nosotros en RT siempre buscaremos informarles de lo que ocurre.
Nos vemos en los informativos y espero pronto poder volver a la CDMX ))
¡Un beso!
🧑💻#PamQuibec🌷
Día a día con🎤@RTReporteros
🐦 (X) Twitter
En la foto, lo que ustedes ven a cuadro.
En el video, todo lo que pasa alrededor... y quien nos acompaña a grabar algunas veces. ❤️
¿Tienen la fortuna de tener tan buen colega en el trabajo?
¡Besos!
🧑💻#PamQuibec🌷
Día a día con 🎤@RTReporteros
🐦(X)Twitter
Son las elecciones presidenciales en Costa Rica y RT en Español está presente, haciendo la cobertura de este proceso electoral desde hace varios días.
¿Nos acompañas a lo largo de ésta jornada larga informativa?
¡Besos llenos de Pura Vida!
🧑💻#PamQuibec🌷
Día a día con🎤@RTReporteros
🐦 (X) Twitter
Secretos de televisión 📺
Antes de grabar y de salir al aire, tenemos que hacer preparativos y mantener nuestro set IMPECABLE.
Para ello, debemos hacer ciertas cosas... como las que les muestro hoy en el video.
¿Lo imaginaban? Sí, la tele no siempre es tan glamurosa como parece.
¡Besos!
🧑💻#PamQuibec🌷
Día a día con 🎤@RTReporteros
🐦(X)Twitter
Preparando el set.
Antes de salir al aire (y que ustedes puedan vernos a través de la señal de RT), en la corresponsalía pasan muchas cosas.
Acomodar luces, cámaras, ajustar encuadres, probar audio, confirmar entrevistados, escribir textos o preguntas...
Aquí un breve ejemplo de lo que fue media hora de trabajo previo, resumido en un minuto.
El reconocimiento es para este crew mexicano.
Besos!
🧑💻#PamQuibec🌷
Día a día con 🎤@RTReporteros
🐦(X)Twitter
¡Feliz Nochebuena! 🎄🎅♥️
Hoy les preparamos un reportaje desde un taller de juguetes artesanales. Acá me encontré con varios que, de niña, me hicieron muy feliz y se los quería compartir. 💕
El reportaje, claro, al aire hoy en nuestra señal y aquí el link
Que tengan una cena deliciosa junto a aquellos que más aman.
Besos navideños 🎉🍾
🧑💻#PamQuibec
Día a día con 🎤@RTReporteros
🐦(X)Twitter