Что делать если нужно поставить какую-то 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
BREAKING NEWS!
Saudi Arabia is still building The Line – the wall city in the desert.
Footage released by aerial photography company Ot Sky shows work commencing on The Line megacity, which is being built as part of the Neom development in Saudi Arabia.
The drone footage shot by Ot Sky shows construction underway on the linear city, which is being built in the northwest of Saudi Arabia.
In the video, numerous excavators can be seen digging a wide linear trench in the desert. Within the trench, foundations for the city, which is planned to be 170 kilometres long, are expected to be built.
The works could also show preparation for an underground transport system that is planned to be built underneath the length of the city.
Unveiled earlier this year, The Line has been designed to house nine million people. It will be 500 metres tall and have a mirrored facade.
#archidaily#architecture#arch_shovel
Could Nantong Urban Agricultural Park Scenery Tower be the product of extraterrestrial inspiration?
According to Z-ONE Tech, the firm in charge of the A+Award-winning project, the shape of the tower is actually inspired by a grain of rice. The forward-thinking structure, completed with an inner spiral steel staircase and a circular observation deck reveals the broad fields of the Nantong Park in their full richness. #ArchitizerAwards
📸: Z-ONE Tech
#archidaily#arch_shovel#architecture
Ferring pharmaceuticals A/S has opened its new home in Copenhagen.
The site occupies a pivotal waterfront position alongside the Øresund crossing, just north of Copenhagen International Airport. Bordered by predominantly low-rise development, the building affords fantastic views towards Malmö and the Swedish coast – where the company was founded.
“We worked with Ferring to develop an in-depth understanding of the way they work. Through observations and targeted interviews, we gained valuable insight into the processes involved in the development of their drugs. In turn, we have designed a building that responds to the company’s specific needs and brings the range of Ferring’s activities under one roof.”
Architecture by Foster&partners
#arch_shovel#architecturelover#detail#archidaily
Living spaces:
1. Conde Duque apartment in Spain by Sierra + De La Higuera
2. Puro Hotel in Krakow in Poland by Paradowski Studio
3. Reforma de una Vivienda en Encsanhe in Spain by Arquitectura-G
4. Dream Weaver Penthouse in Australia by YSG
📸 by German Sáiz , Pion Studio , José Hevia, Prue Ruscoe
#interiors#lookbooks#archidaily#arch_shovel
KAPSARC awarded five LEED EBOM Platinum certifications by the US Green Building Council
.
The only buildings in Saudi Arabia to receive Platinum LEED Existing Building: Operation & Maintenance (EBOM) certification, KAPSARC’s five community facilities achieved the highest sustainability standards throughout the centre’s design, construction, operations and maintenance procedures.
.
KAPSARC’s waste management program diverted 94% of solid waste from landfill through waste stream audits that eliminated single-use goods and developed an effective waste segregation strategy across multiple stages. KAPSARC also reduced the compound’s water consumption by 30% with weather-based micro-irrigation, mulching, native planting and efficient faucets. The centre’s energy usage was also reduced by 35% with energy audits regularly identifing energy conservation measures.
.
#architecture#zahahadid#zahahadidarchitects#architecture#arch_shovel#archidaily
Chybik kristof unveils a newly designed private art gallery, defined by its shimmering facade of moveable copper tiles. the cluster of vertical cylinders are animated by the dynamic skin, which will gradually transform with a patina over time.
Visualization: monolot.studio
#rendering#cgi#facade#architect#archidaily#arch_shovel
P E A C E F U L / Grooming Retreat by Gartnerfuglen + Mariana de Delás
The #minimalspace (3x3 meters footprint), functions as a #groomingretreat for one person. The structure, made by local #timberframes , elevates the cocoon to have exclusive views whilst giving a sense of translucent privacy to the user.
.
Layers of white netting frames are interlaced throughout the interior to grant different opacities for each specific use. The subtle introvertness of the structure encourages the user to take a break from the multitasking contemporary madness, and centre on individual mental and bodily hygiene. With importance on grooming’s #meditative (not cosmetic) qualities, the space inspires the user to devote time to the reconnection of the mind to the shell.
#arch_shovel#architecture#archidaily
From cotton to culture - Oscar Niemeyer Sphere - Baumwollspinnerei.
#leipzig#visitleipzig#architecturephotography#minimalism#facadedesign#archidaily#arch_shovel
Happy World Architecture Day!
Visualization: Plo.mp
Project: Mixed-Use Complex with Kohn pedersen fox
.
#rendering#facade#architect#archidaily#minimalist#detail#architecturelover#arch_shovel