Что делать если нужно поставить какую-то 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
#expo
👍 IT Park Uzbekistan delegatsiyasi “Call & Contact Centre Expo 2024” koʻrgazmasida ishtirok etdi
IT Park Uzbekistan delegatsiyasi Londonda oʻtkazilgan eng yirik xalqaro koʻrgazma “Call & Contact Centre Expo 2024”da qatnashib, Oʻzbekistonda biznes yuritish va autsorsing loyihalarini rivojlantirish boʻyicha keng imkoniyatlarni taqdim etdi.
Ko'rgazma doirasida axborot texnologiyalari sohasidagi kompaniyalar uchun hamkorlik istiqbollari, shuningdek, Oʻzbekiston bozoriga kirish va mamlakatda innovatsion yechimlarni amalga oshirishdan manfaatdor boʻlgan xorijiy investorlar uchun imkoniyatlar namoyish etildi.
🌐Batafsil veb-saytimizda
__
👍IT Park Uzbekistan Delegation Participates in Call & Contact Centre Expo 2024
The delegation of IT Park Uzbekistan took part in the prestigious international exhibition Call & Contact Centre Expo 2024, held in London, where it showcased a comprehensive range of business opportunities and outsourcing project development prospects in Uzbekistan.
During the exposition, the delegation highlighted collaboration opportunities for IT companies and presented investment possibilities for foreign investors interested in entering the Uzbek market and implementing innovative solutions in the country.
🌐Read more on out website
Telegram | Instagram | Facebook | Youtube | LinkedIn
#expo
👍 IT Park Uzbekistan ijrochi direktori Abdulahad Kuchkarov boshchiligidagi delegatsiya IT Park Bosh direktori maslahatchisi Ahmad Abulaz ishtirokida Orlandoga samarali tashrif buyurib, O‘zbekistonni yangi autsorsing va IT-xizmatlar markazi sifatida targ‘ib qildi.
Tashrif doirasida IT Park jamoasi “ICMI Contact Center Expo” va “Gartner IT Symposium/XpoTM” kabi yirik xalqaro tadbirlarda ishtirok etdi, shuningdek, xorijiy IT va autsorsing kompaniyalari vakillari bilan bir qator uchrashuvlar o‘tkazdi.
Batafsil veb-saytimizda
________
👍 A delegation from IT Park Uzbekistan, led by Executive Director Abdulakhad Kuchkarov and joined by Advisor to IT Park CEO Ahmed Aboulezz, conducted a productive visit to Orlando, promoting Uzbekistan as an emerging hub for outsourcing and IT services.
During the visit, the IT Park delegation participated in prominent international events, including the ICMI Contact Center Expo and Gartner IT Symposium/Xpo™, and engaged in a series of meetings with representatives from global IT and outsourcing firms.
🔗 Read more on the website
Telegram | Instagram | Facebook | Youtube | LinkedIn
В Сербии в мае заработает приложение EXPO-2027, в котором представители бизнеса смогут связываться с иностранными компаниями, участниками глобальной экономической выставки со всего мира
Кроме того, приложение, в котором пользователи смогут выбрать сферу экономических интересов, будет само предлагать вам подходящие компании, позволит не только устанавливать желаемые контакты, но и бронировать конференц-залы на форумах EXPO для деловых встреч.
Генеральный директор компании «EXPO 2027 Белград» Данило Еринич назвал это приложение проектом национального значения и подчеркнул, что его цель – собрать как можно больше пользователей, которые смогут установить новые экономические связи.
#EXPO#Сербия#экономика
@NewsSerbia
Первые километры рельсов: на железной дороге к EXPO в Белграде приступили к укладке путей
В Сербии продолжается масштабная стройка железнодорожной ветки, которая навсегда изменит транспортную схему столицы. Проект свяжет станцию Земун-Поле, аэропорт Никола Тесла и будущий Национальный стадион в Сурчине.
Работы на 18-километровой линии от Земун-Поле до стадиона вошли в активную фазу. На сегодняшний день строители уже уложили более 4,3 км рельсового полотна.
В районе Сурчина продолжается возведение самого сложного объекта маршрута – виадука длиной 1,2 км. Инженеры планируют полностью завершить основные конструкции моста над автомагистралью уже в следующем месяце. На станциях «Аэропорт» и «Сингидунум» строительные бригады закончили бетонные работы в подземных переходах и приступили к монтажу лифтовых шахт.
Проект идет строго по графику: поставка первой партии из девяти новых скоростных поездов ожидается в конце этого года.
#Сербия#Белград#EXPO
@NewsSerbia
Фан-факт, которому в этом году исполнилось 50 лет. «Джоконда» Леонардо да Винчи выставлялась в Москве в 1974 году.
Привезти «Джоконду» в Москву придумала Ирина Антонова – тогдашний директор Государственного музея изобразительных искусств им. Пушкина. А реализовала – министр культуры СССР Екатерина Фурцева.
В 1974 году «Джоконда» выставлялась в Японии. Антонова узнала об этом из газет и тут сообразила, что, наверное, картина летела в Японию через Москву. И, скорее всего, также будет лететь назад.
Антонова связалась с Фурцевой и предложила безумную идею – сделать «Джоконде» пересадку в Москве. По воспоминаниям Антоновой Фурцева сказала: «Французский посол в меня влюблен. Поговорю с ним, может, во имя любви договорится со своими».
Через месяц французы дали согласие.
«Джоконда» шесть недель выставлялась в Пушкинском музее.
Для осмотра сделали круговой обход. У зрителей было несколько мгновений, чтобы полюбоваться шедевром.
Люди отстаивали огромные очереди по семь-восемь часов – всё ради нескольких секунд.
Тогда «Джоконду» увидели около полутора миллиона советских людей.
#belles_histoires_humaines
#expo
👋Мистер Снеговик 20-метровой высоты появился в этот понедельник перед входом в городской парк Харбина на северо-востоке Китая. Именно здесь совсем скоро стартует International Snow Sculpture Art Expo
#expo#это_китай
Друзья, 1 марта на выставке Мир Охоты и Рыбалки прошла очередная Заруба. Соревнования традиционно проходили в атмосфере упорной борьбы и с яркими эмоциями.
Фаворитами были Сергей Жиров (31 секунда), и Ян Корнев (29 секунд). 🏆 Ян занял 1 место, но рекорд установленный на прошлом московском Клинке в 26,8 секунды все-таки не побил. Сергей показал рекордное время в 21 секунду, но набрал штрафные баллы, не попав по шарику.
В-общем, следующая Заруба на Клинке через месяц обещает быть жаркой. Спортсмены заряжены на новый рекорд!
#заруба#expo
Дорогие любители острого!
Хотим поделиться яркими моментами Зарубы с февральской выставки Клинок на Неве.
Ждем вас на соревнованиях Заруба в Москве сегодня
На выставке Мир Охоты и Рыбалки в Крокус Экспо.
📣 В 15:30 - начало соревнований
Оставляйте заявку, приходите с ножом в 14:00 и пишите - мы встретим вас!
Подробности прохождения на видео🫲
#Заруба#expo