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 слични објави

Пребарај: #judicialreasoning

当前筛选 #judicialreasoning清除筛选
English Law Report

@enlawreport · Post #1835 · 20.12.2025 г., 07:36

За декабрь 2025 года я внимательно разобрал 17 решений Commercial Court в High Court of England and Wales. Один месяц, разные судьи, разные типы споров — от summary judgment и jurisdiction до contempt, arbitration challenges и тяжёлых коммерческих процессов. И при всём этом разнообразии обнаружилась одна неприятно точная закономерность: суд сегодня почти не интересуется тем, насколько красив или интеллектуально изящен ваш аргумент. Его интересует другое — когда, как и после чего вы его принесли. Commercial Court больше не ведёт спор по существу, если процессуально вы уже опоздали. Ключевой вопрос суда звучит не «кто прав?» и даже не «что справедливо?», а предельно прагматично: допустимо ли то, что вы делаете, на этой стадии процесса, в этом формате и с учётом всего, что уже произошло. Если ответ отрицательный, дальнейший анализ просто не начинается. Не потому что аргумент слаб, а потому что он юридически не существует. Самый важный сдвиг последних лет — стадия процесса стала важнее содержания аргумента. Можно быть правым по существу и проиграть без шансов только потому, что вы сказали это слишком поздно или не тем способом. Суд всё чаще пишет: даже если вы правы, сейчас это недопустимо. И на этом ставит точку, без эмоций и без сожалений. Процессуальный выбор стал дорогим. Если вы не заявили факт вовремя, не пошли с amendment, сознательно выбрали тактику «посмотрим, как пойдёт», суд не будет вас спасать. Он исходит из того, что вы приняли риск. А риск — это не абстрактное понятие, а ваша личная ответственность как стороны профессионального спора. Очевидность без зафиксированного finding’а для суда равна нулю. Новый эксперт, новый отчёт, новая формулировка не оживляют вопрос, который уже был решён или который вы сами решили не поднимать вовремя. Многие по привычке хватаются за прецеденты, как за спасательный круг. Но практика декабря 2025 года показывает: authority больше не компенсирует плохой тайминг. Даже Supreme Court не поможет, если вы нарушили процессуальную дисциплину. В иерархии суда сегодня выше стоят CPR, процессуальная история дела и ранее вынесенные orders, а не красота правовой конструкции. Что же суд реально защищает? Не стороны и не их эмоции. Он защищает финальность решений, предсказуемость процесса, авторитет собственных приказов и дисциплину игры. Commercial Court всё меньше выглядит как арбитр конфликта и всё больше — как архитектор системы. Он не исправляет стратегии, не даёт вторых попыток и не переписывает процессуальную историю задним числом. Практический вывод предельно прост и довольно неприятен. Сегодня выигрывает не тот, у кого самый умный аргумент, а тот, кто думает стадиями, фиксирует факты сразу, не оставляет важное «на потом» и понимает, что хороший аргумент, сказанный слишком поздно, для суда не существует. Это не жёсткость и не цинизм. Это современное понимание судебной функции. Если вы хотите научиться читать судебные решения не как хронику событий, а как инструкцию по выживанию в Commercial Court, напишите мне в личные сообщения. Я покажу, как под это мышление реально выстраивать стратегию дела, а не просто реагировать на решения постфактум. #CommercialCourt#EnglishLaw#LitigationStrategy#JudicialReasoning#LegalPractice#Arbitration#UKLaw#LegalStrategy