Что делать если нужно поставить какую-то 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
💧Airdrop : Quantum Financial 💧
📣Complete Task: ➕ 10 #USD
🎈Reward: ➕ 1000 QFL
🏆Winners: For All Valid Users
📅End date: 26th May 2022
💎Ratings: ⭐️⭐️⭐️
🔛Quantum Airdrop For Click 🔛
🌀 Join Quantum Financial Group.
🌀 Follow on Twitter and retweet the pinned post.
🌀Submit Bep-20 address
📡Enter your information to the airdrop bot.
🗞Note: All airdrop steps should be completed.
🪙#BTC#USD
"Governments have repeatedly frozen assets or restricted people's access to financial resources. BTC, on the contrary, ensures that users retain full control over their funds. BTC can accelerate the de-dollarization of the economy. In the future, financial transactions will no longer be limited by state borders or traditional banking systems. Bitcoin will empower people all over the world and will be able to replace the dollar in international transactions. BTC will change the definition of financial sovereignty and freedom, creating a new economic order"
— Jack Dorsey
#ETH/#USD remains stuck below resistance, which prevented a swift retest of the 2021 all-time-high.
#ETH/#USD остается ниже сопротивления, что помешало быстрому повторному тестированию исторического максимума 2021 года.
KolgotA • Crypto • Economy • Statistics
⛔️Long Anticipated NFP News Arrives Today
👉You May See Significant Strong Effects Related To USD Pairs, Gold and much more.
Please remember US employment data in the current situation has a significant impact on the #USD as well as the market as a whole.
Need Help Navigating NFP?
Feel Free To Contact Us Anytime @GTFadmin
www.globaltradesforex.com
#Gold#USD
⛔️Long Anticipated NFP News Arrives Today
👉You May See Significant Strong Effects Related To USD Pairs, Gold and much more.
Please remember US employment data in the current situation has a significant impact on the #USD as well as the market as a whole.
Need Help Navigating NFP?
Feel Free To Contact Us Anytime @GTFadmin
www.globaltradesforex.com
#Gold#USD
#торговыеидеи#USD
Забыл дописать про доллар
Его продолжают укатывать. Действуют на мой взгляд 3 фактора
1) Снижение импорта существенное из-за сильного влияния жесткой ДКП. Компании заморозили инвест проекты и не импортируют оборудование (станки, машины, производственную технику, вычислительную технику и т.п) и сырье.
2) Высокие ставки по депозитам из-за жесткой ДКП. Экспортеры стараются репатриировать как можно больше выручки и донести прибыль на вклады по выскоим ставкам пока не начилось снижение ставки. Базово ожидаю снижение ставки в июле
3) Улучшение геополитики. Да, все выебываются друг на друга, но дело тем не менее пришло к прямым переговорам. Также оно может и прийти к непосредственному заключению перемирия и мира а это вызывает и еще сильнее вызовет приток иностранных инвестиций в страну и усилит спрос на рубль.
Поэтому все еще думаю, что доллар может сходить еще ниже, думаю мы можем увидеть уровни 70 и 65 рублей как бы это не было абсурдно. Однако когда так думаешь, обычно начинается отскок. + к этому доллар и нефть уже настолько слабые, что бюджету пиздец как плохо. Ценами на нефть управлять нельзя, слишком большой рынок. А вот курсом управлять можно. Поэтому кто любит валютные позиции, думаю можно начинать набирать, но точно не на всю котлету, скорее на 1/3 того, что вы хотели бы купить
*НЕ ИИР
✅El premio de $6 cada 6 días en Neomoon se sigue dando.
✅ Para solicitarlo entre a "Mooners"
"Premios y Promociones"
"Premio de Neo $6"
👉Más información sobre los cambios recientes
👉Registro en Neomoon
#neomoon#usd
Некоторые альткойны ослабли в абсолютном выражении. Например, Кардано (#ADA#USD) остается в нисходящем тренде с отрицательной динамикой. Следующая поддержка находится на уровне $0,36.
KolgotA • Crypto • Economy • Statistics