Что делать если нужно поставить какую-то 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
EL ABORTO
por Wendy McElroy
✍️La propiedad de uno mismo comienza con su piel. Si no puedes decir claramente: «Todo lo que está debajo de la piel es mío; esta es la línea que nadie tiene derecho a cruzar sin permiso», entonces no hay fundamento para los derechos individuales ni para el libertarismo.
📌@AxiomaBlog#Eureka
EL SEXO Y LAS «MALAS» PALABRAS
...Muchas de las palabras que se utilizan en las diversas variantes regionales del español en América para designar al órgano genital masculino, surgieron inicialmente por el uso del eufemismo, un fenómeno común, según se ha investigado, en el habla cotidiana
📌@AxiomaBlog#Eureka
📍«Si una puerta se me cierra, otra se me abre. ¡Dura, Magaly! ¡Ay, por tu madre!», repiten por estos días en Cuba, sobre todo en las redes sociales.
Pero, ¿quién es, por fin, la tal Magaly?
#Eureka@AxiomaBlog
“No tengo miedo de caer enfermo. ¿Y de qué tengo miedo? De todo lo que el contagio puede cambiar. De descubrir que el andamiaje de la civilización que conozco es un castillo de naipes. De que todo se derrumbe, pero también de lo contrario: de que el miedo pase en vano, sin dejar ningún cambio tras de sí”
Estas palabras pertenecen a una de las primeras novelas sobre la pandemia de la COVID-19: En tiempos de contagio. Una de las pocas obras ya publicadas sobre este momento de la humanidad
📍#Eureka@AxiomaBlog
📍Los griegos hace más de 2300 años ya fueron capaces de calcular la curvatura de la tierra y ahora en la época de la ciencia y la tecnología ¿qué nos está pasando?
🌎Negar que la Tierra es esférica es el caso más extremo de un fenómeno que define esta época: recelar de los datos, ensalzar la subjetividad, rechazar lo que nos contradice y creer falsedades propagadas en redes
#Eureka@AxiomaBlog
▪️Es necesaria la pregunta que se hace cualquiera, perdido en medio de este tumulto de información que parece provenir de todo medio posible, es una muy evidente y directa: ¿La vida privada dejó de serlo? ¿Se ha convertido la intimidad, gracias a la fotografía y los nuevos medios de difusión, en un bien público? Nadie lo sabe con exactitud y es que quizás la respuesta a medio camino entre el análisis de lo que subyace bajo la intención del que muestra y la reacción —necesidad— del que mira.
#Eureka
https://link.medium.com/4qx9iJ4P4ab
bell hooks, así en minúsculas, es una escritora, feminista y activista social estadounidense de fama internacional. Ha publicado más de 40 libros y numerosos artículos académicos, ha aparecido en documentales y participado en conferencias públicas. Se ha ocupado de la raza, la clase y el género en la educación, el arte, la historia, la sexualidad, los medios de comunicación y el feminismo.
#Eureka presenta uno de sus ensayos más emblemáticos
#Eureka#LunesEnMedium
Un texto de Iván de la Nuez
“Si el posmodernismo llegó a definirse por el «Everything Goes», las reyertas actuales parecen regirse, directamente, por el «Que nada funcione». Sin dejar de columpiarnos entre el adanismo y el mimetismo, la izquierda le habla a la sociedad con el lenguaje académico de las universidades norteamericanas, y la derecha, con el discurso antiacadémico del populismo norteamericano. Toda una telenovela colonial en la que los patriotas conservadores y los antimperialistas progresistas coinciden en imitar a los Estados Unidos y en la que lo mismo copiamos una carta de luminarias ofendidas por lo que llaman «cultura de la cancelación» que el «Yes We Can» de Obama.”
https://medium.com/@revistaelestornudo/quiénes-son-los-amigos-del-pueblo-y-cómo-luchan-contra-los-posmodernos-e9a2cf45e71f
Hoy @AxiomaBlog reinaugura su sección dedicada a los ensayos y los artículos de análisis
•#Eureka •
Porque para encontrar debemos indagar bajo la superficie vivible de las cosas
Política y estética del meme
🖊Jorge Carrión
“Mallarmé afirmó que en el mundo todo existe para culminar en un libro. Hoy todo existe para culminar en una fotografía”, escribió Susan Sontag en 1977. A juzgar por los contenidos que más circulan por nuestras bandas anchas, se podría afirmar que en 2020 todo existe para culminar en un meme.
📌TNYT#LunesEnMedium