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

Резултати

Пронајдени 3 слични објави

Пребарај: #magic88cn

当前筛选 #magic88cn清除筛选

😀 😀 😀 😀 😀 😀 😀 🧹穿越旋转的维度,在 Magic88 终极「时空任务」中解锁11级每日奖励!下注你最喜欢的游戏,达成任务目标,一次旋转征服加密银河! 💎每天下注,完成从第 1 级至第 11 级的任务,金额从 200U到479800U! ✨每日领取每个奖励,仅需 3倍 流水,快速、轻松、随时可提现! 😀立即加入 Crypto「时空任务」,访问 magic88.game,你的奖励征程从现在开始! #Magic88#Magic88官方#大奖之家#电报机器人#免费加密货币#欢迎奖金#加密奖励#立即加入#Magic88cn#Magic88HK 🌟官网入口:✔️magic88.game 👈 🎉快点!晚一步,大奖就没了! 🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓 🤓 🌐 Telegram ✉️ Luffa 🔐SafeW

😀 😀 😀 😀 😀 😀 😀 ⚽ 赛事预测 | 阿尔阿赫利 VS 迈阿密国际 巅峰对决,一触即发! 🔥 非洲劲旅阿尔阿赫利,能否捍卫荣誉? 还是迈阿密国际这支北美新势力,将继续写下进击神话? ⚡ 本场焦点:技术 VS 速度,经验 VS 冲击力 你站哪一边?押注你的信仰,决胜绿茵战场! 🎯 点击进入 magic88.game,支持你心中的胜者! #Magic88#世俱杯#足球预测#阿尔阿赫利#迈阿密国际#比赛前瞻#足球竞猜#下注赢大奖#国际足联俱乐部世界杯#绿茵对决#足球激情#今日赛事#体育娱乐#竞猜有奖#足球盛宴#比分预测#早场赛事#FootballPrediction#ClubWorldCup#Magic88CN 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🌟官网链接: ✅magic88.game 👈 ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤🖤 🌐 Telegram 🌐Discord 🌐Facebook🌐Twitter X 🌐Instagram🌐Tiktok ✉️Luffa🔐SafeW

😀 😀 😀 😀 😀 😀 😀 🏆 国际足联俱乐部世界杯火热进行中! 🗓今日赛程(6月19日)新鲜出炉! ⚽️00:00 - Palmeiras 🆚 Al Ahly ⚽️03:00 - Inter Miami 🆚 FC Porto ⚽️06:00 - Seattle Sounders 🆚 Atletico Madrid ⚽️09:00 - Paris Saint-Germain 🆚 Botafogo 🌍 谁将挺进下一轮?快来下注支持你喜欢的球队! 🔥 关注比赛,锁定精彩 🔥 赢大奖,就在 Magic88! 🎮 立即进入 👉magic88.game #Magic88#Magic88CN#俱乐部世界杯#国际足联#Palmeiras#AlAhly#InterMiami#FCPorto#SeattleSounders#AtleticoMadrid#PSG#Botafogo #足球迷#足球赛程#精彩赛事#线上竞猜#赢大奖#即时比分#足球竞猜#体育盛宴#足球热爱#世界杯狂欢#足球爱好者必看#每日赛事推荐 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🌟官网链接: ✅magic88.game 👈 ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🖤 🌐 Telegram 🌐Discord 🌐Facebook🌐Twitter X 🌐Instagram🌐Tiktok ✉️Luffa🔐SafeW