Что делать если нужно поставить какую-то 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
🔹IT-индустрия и туризм Значительное отставание России предстоит наверстывать в области IT-технологий. Причем нам нужно не только предотвратить пресловутую «утечку мозгов», но и создать условия для новых разработок. Большую роль здесь играет налоговое бремя. С учетом этого мы приняли решение до 2024 года освободить IT-компании от уплаты налога на прибыль.
Русофобские настроения и санкции значительно сужают возможности поклонников выездного туризма. Туристская индустрия, «просвевшая» за два года пандемии, нуждается не только в поддержке, но и в стимулах для роста. В связи с этим мы сразу на 5 лет освобождаем от НДС услуги по размещению в гостиницах и других объектах для временного проживания. Аналогичная преференция предусматривается для организаций , оказывающих услуги аренды или управления объектами туристской индустрии, введенными в эксплуатацию в 2022 году. Поскольку суть НДС такова, что этот налог закладывается в конечные цены для потребителей, есть все основания рассчитывать, что данные шаги позитивно скажутся и на доступности внутреннего туризма для граждан.
🔹Ускоренный возврат НДС. Организации смогут в заявительном порядке вернуть или зачесть сумму налога до завершения камеральной проверки поданной декларации. При этом если заявленная к возмещению сумма не превышает сумму налогов и страховых сборов за предыдущий год, банковская гарантия или поручительство не требуются. Права на использования данного механизма не имеют компании в процедуре банкротства, реорганизации или ликвидации.
🔹Кадастровая стоимость. Она зафиксирована на уровне, актуальном по состоянию на 1 января 2022 года. Редакцией документа, одобренной в первом чтении, предполагалось, что данная мера будет применяться к оценке стоимости имущества организаций, однако в ходе доработки мы распространили ее действие и на физлиц, что позволит защитить и бизнес, и граждан от роста налога на имущество и землю.
🔹Санкции за неуплату налогов. До 2023 года включительно приостановлено действие нормы, которая предусматривает начисление повышенной пени при просрочке по налоговым платежам продолжительностью более 30 дней. По действующему законодательству в таких случаях она начисляется в размере 1/300 ставки рефинансирования. После вступления закону в силу пеня будет рассчитываться по 1/150 – то есть санкции будут снижены фактически в 2 раза.
🔹Возможности для настройки налоговой системы на региональном уровне. До 2024 года пролонгированы полномочия субъектов РФ по введению налоговых каникул. Они могут быть установлены для физлиц, впервые зарегистрированных в качестве индивидуальных предпринимателей, а также тех, кто в перешел на упрощенную или патентную систему налогообложения при условии, что с момента регистрации прошло не более двух лет.
🔹Повышенный транспортный налог. Круг автовладельцев, обязанных платить «налог на роскошь» значительно сужен. Если раньше соответствующие обязательства появлялись у собственников легковых авто стоимостью от 3 миллионов рублей, после вступления закона в силу минимальный порог будет поднят до 10 миллионов рублей. Причем обновленные положения имеют обратную силу, то есть будут распространяться на транспортные средства, приобретенные с 1 января 2022 года.
🔹НДФЛ. Освобождены от НДФЛ процентные доходы, полученные по вкладам и остаткам на счетах в банках в 2021-2022 гг. Также от него освобождается полученная с 2021 по 2023 гг материальная выгода.
#налоги#кризис#экономика#Воронеж#vгn#ЧижовСергей#ГосударственнаяДума#EP#EP36
#Orgulloso
En todas las barras del mundo se crean 🍸cócteles cubanos 🇨🇺, desde Talea (Restaurante Italiano Michelin Guide 2023) en el Emirates Palace de Abu Dhabi:
"Maragato Special"
#cuba#cubanosporelmundo#ACC#asociaciondecantineros#Talea#EP