TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #210 · 3 фев.

Что делать если нужно поставить какую-то 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

Резултати

Пронајдени 1 слични објави

Пребарај: #abyssinia

当前筛选 #abyssinia清除筛选

🌍 NIKOLAI GUMILYOV IN ABYSSINIA The Russian Poet-Conquistador in Ethiopia, 1913 «I am a conquistador in iron armor, I joyfully pursue a star, I walk through chasms and abysses And rest in a joyful garden» 1913. Russian poet Nikolai Gumilyov, 27 years old, arrives in Abyssinia — ancient Ethiopia. This is his third African expedition. But Ethiopia is different. This is the birthplace of humanity, the birthplace of coffee, the only African nation never colonized. 🏨TAITU HOTEL: WHERE HISTORY MET POETRY In Addis Ababa, Gumilyov stayed at the legendary Taitu Hotel, named after Empress Taytu Betul. Here, on carved balconies under high ceilings, he wrote his African poems. Picture this: evening, the scent of frankincense and coffee, pen scratching paper. Outside — the lights of the capital. The poet writes: "Deafened by roar and thunder, Clothed in flame and smoke, About you, my Africa, in whispers The seraphim speak in heaven" ⛰️THE SIMIEN MOUNTAINS From Addis Ababa, Gumilyov ascends to the Simien Mountains. Here the sky is closer than anywhere else. Here eagles fly beneath your feet. Here a person understands how small he is — and how immense the world's beauty. የስሜን ተራሮች — በዓለም ላይ ከየትኛውም ቦታ የሚያስደንቁ። እዚህ ሰማይ ቅርብ ነው፣ ንስሮች በእግርህ በታች ይበርራሉ። (The Simien Mountains — more breathtaking than anywhere in the world. Here the sky is close, eagles fly beneath your feet.) ☕THE BIRTHPLACE OF COFFEE The Ethiopian coffee ceremony isn't just a drink. It's a ritual thousands of years old. A woman in white roasts beans over fire, grinds them by hand, brews in a clay jebena. Frankincense smoke. Silence. Rapture. Гумилёв пьёт этот кофе и понимает: отсюда пришёл аромат, покоривший мир. (Gumilyov drinks this coffee and understands: from here came the aroma that conquered the world.) 🏛️FREE LAND Ethiopia was never colonized. When all of Africa was divided by European empires, Ethiopia remained free. Gumilyov sees imperial palaces, thrones of precious wood, gold and crimson velvet — and feels ancient regality that Europe has lost. ኢትዮጵያ በጭራሽ ቅኝ አልሆነችም። ነፃ ምድር። የጥንታዊ ንጉሠ-ነገሥቶች ምድር። (Ethiopia was never colonized. Free land. Land of ancient emperors.) 📿LALIBELA: CHRISTIANITY IN STONE The rock-hewn churches of Lalibela. Ethiopian Christianity is older than European. Here they guard sacred mysteries. Here monks have prayed in caves for a thousand years. Гумилёв стоит в древнем храме, и его сердце бьётся от восторга. (Gumilyov stands in an ancient temple, and his heart beats with rapture.) 🎭THE GIRAFFE: AFRICA IN VERSE Gumilyov's most famous African poem: "Listen: far, far away, on Lake Chad An exquisite giraffe wanders. He's given graceful elegance and bliss, And his hide is adorned with a magical pattern..." የአፍሪካ ህልም በግጥም። (The African dream in poetry.) 💔RETURN AND MEMORY In a few months, Gumilyov will return to Russia. Ahead — World War I, revolution, execution in 1921. He'll be 35 years old. Но Эфиопия останется с ним до последнего вздоха. Африка вошла в его кровь, в его поэзию, в его душу. (But Ethiopia will remain with him until his last breath. Africa entered his blood, his poetry, his soul.) 🏨THE TAITU HOTEL STILL STANDS And remembers the Russian poet who sat on the balcony, looked at the stars of Abyssinia, and wrote about beauty that saves the world. የታይቱ ሆቴል አሁንም ቆሟል። የሩሲያ ገጣሚውን ያስታውሳል። (The Taitu Hotel still stands. It remembers the Russian poet.) 🌟 «Я конквистадор в панцире железном...» "I am a conquistador in iron armor..." Eternal memory to the poet. Eternal love for Ethiopia. ለገጣሚው የዘላለም ትዝታ። ለኢትዮጵያ የዘላለም ፍቅር። --- 🎵Listen while reading: Mulatu Astatke — "Yèkèrmo Sèw" (Father of Ethio-jazz) Search: "Mulatu Astatke Yekermo Sew" on any music platform 📸 Photos: Historical Taitu Hotel, Addis Ababa; Simien Mountains; Ethiopian coffee ceremony #Gumilyov#Ethiopia#Abyssinia#Poetry#TaituHotel#Travel#AddisAbaba#EthioJazz#SilverAge#RussianPoetry#AfricanLove