Что делать если нужно поставить какую-то 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
#HARD/USDT analysis :
#HARD is currently moving within a bullish channel. The price has retraced and tested the channel's support, indicating a potential rebound soon, with a target to test previous highs. Traders should wait for a breakout above the $0.1627 level to consider a long entry.
TF : 1D
Entry : $0.1627
Target : $0.2400
SL : $0.1264
#HARD/USDT analysis :
#HARD is currently in an uptrend, trading above the 200-period exponential moving average (EMA) and forming new highs. The price is now retracing toward a significant support zone. It is expected that the price will test this support area before resuming its bullish momentum. Following this, previous highs are likely to be tested.
TF : 2h
Entry : $0.1578
Target : $0.2005
SL : $0.1358
#HARD/USDT analysis :
#HARD is currently encountering resistance at the daily TF 200ema. The price is expected to break below the 200ema on the 4h TF and likely test the previous swing low. For a confirmed entry, wait for the break of the $0.1229 level.
TF : 4h
Entry : $0.1229
Target : $0.1013
SL : $0.1370
#HARD result
1st target achieved in just 1 Hour ✅
One more quick profit 7%+💰🤑
👉 More quick profit signals available in premium channel. Hurry up 🏃♂👇
☎️ Contact @MichaelStrategiesVip
Эпик фейл нового iPhone 16: устройства сами перезагружаются по несколько раз в день.
О проблеме с телефонами iPhone 16 Pro или iPhone 16 Pro Max пишут на многочисленных форумах и в сообществах поддержки Apple. Проблема у всех одна и та же: телефоны неожиданно зависают, а потом перезапускаются. Подобная ситуация происходит до 20 раз в день. Установка обновлений проблему не устраняет.
В Apple экстренно меняют неисправные телефоны, но и новые устройства выдают такую же ошибку.
Репутация Apple стремительно рушится.
#apple#iphone#hard
Российские процессоры "Baikal M": это провал или отступление?
В октябре 2019 года компания "Байкал Электроникс" представила российский инновационный процессор Baikal-M — восьмиядерный чип на архитектуре ARM, ориентированный на серверы и рабочие станции. Этот процессор, с частотой до одного с половиной гигагерц и энергопотреблением менее тридцати пяти ватт, позиционировался как решительный шаг к российской независимости в производстве электроники.
Хотя техпроцесс в двадцать восемь нанометров отставал от глобальных стандартов — три нанометра в смартфонах и ноутбуках, — но позволял как минимум решать задачи в госсекторе. Изначально чипы планировали выпускать на фабриках тайваньской TSMC, что обеспечивало достаточное качество. Однако в 2022 году, после введения санкций, сотрудничество с TSMC прервалось, и Россия оказалась перед необходимостью локализации производства.
Предыстория Baikal-M уходит корнями в 2014 год, когда "Байкал Электроникс" создали как совместное предприятие с участием "Т-Платформ" и Института физики полупроводников. Цель — разработка отечественных чипов для замены импортных, то есть пресловутое импортозамещение.
К 2021 году компания получила первые партии Baikal-M от TSMC — около пяти тысяч штук, с планами на десять тысяч ежемесячно. В августе того же года iRU начала сборку ПК и моноблоков на этих процессорах. В 2025 году ввезли восемьдесят пять тысяч чипов семейства Baikal, включая M и S, а также запустили серийное производство микроконтроллера Baikal-MCU. К лету консорциум систем хранения данных анонсировал поставки десятков тысяч Baikal-M и Baikal-L к концу года.
Однако на днях "Байкал Электроникс" объявила о завершении трёхлетнего эксперимента по корпусированию Baikal-M — финальному этапу, когда кристалл помещают в защитный корпус с выводами для платы. Работы вели на заводе GS Nanotech в Гусеве Калининградской области.
По словам гендиректора Андрея Евдокимова, проект в целом оценивают позитивно как шаг вперёд, но развивать его не стали из-за нехватки кристаллов и других компонентов на рынке. В месяц собирали лишь десятки штук, с выходом годных изделий в диапазоне 74%-85%.
Это стало неожиданностью, но зависимость от импортных материалов тормозит масштабирование российских разработок. Baikal-M остаётся нишевым продуктом для госструктур, где его цена (втрое выше Intel или AMD) не критична,. Однако на реальном рынке спрос на такие дорогие процессоры практически отсутствует. Очевидно, что без господдержки и консолидации мощностей отечественные чипы не выйдут за пределы ниши.
Компания, однако, остаётся на плаву. В будущем ожидается запуск процессора Baikal-L на ядрах Cortex-A710 для ноутбуков, с поставками свыше ста тысяч штук в 2026 году. Параллельно разрабатывается серверный Baikal-S2. Но их судьба пока остаётся в тумане и в теории может повторить судьбу "Baikal M".
#hard#железо#байкал
Технология 5D оптического хранения данных в кварцевом стекле зародилась ещё в девяностых годах прошлого века. Но настоящий прорыв случился в 2013 году в лаборатории Оптоэлектронного исследовательского центра Университета Саутгемптона.
Профессор Питер Казанский и его команда впервые продемонстрировали запись и чтение цифровых данных с помощью фемтосекундного лазера, создающего наноструктуры внутри fused silica — особо чистого кварцевого стекла.
В 2025 году стартап SPhotonix, основанный профессором Казанским и его сыном Ильёй, вывел эту разработку на коммерческий уровень. Компания представила 5D Memory Crystal — носитель, способный хранить до 360 терабайт данных на пластине диаметром пять дюймов. Это эквивалентно примерно пяти тысячам дисков Blu-ray.
Подробнее — по ссылке
#железо#hard#технологии#инновации#стартапы