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

Пребарај: #agsv

当前筛选 #agsv清除筛选
PT风向旗

@Ptfxq · Post #651 · 26.04.2024 г., 01:36

关闭登录的内站登陆方法、各站点的官方群组、频道、机器人等信息。本条消息将及时更新,转发消息请点击👆🏻“PT风向旗“👆🏻查看最新版本 因为 TG 的单条消息的字数限制,故切分消息并按照首字母排序。共三条消息,本条消息为第一条,包含数字开头及 A-G 开头的站点。 #1PTBA 官方频道:https://t.me/on1ptba 官方群组:https://t.me/ptbar_Chat 关门登录:印象中没关过门 #2xfree 官方频道:https://t.me/group_2xfreeOrg 官方群组:https://t.me/vr2xfreechat 关门登录:印象中没关过门 #3wmg#芒果 官方群组:https://t.me/www3wmg #52pt 官方群组:https://t.me/joinchat/NcihYBedvjXZIG5qEKXcpQ #Audiences#观众 官方机器人:https://t.me/Audiences_Official_Bot 官方频道:https://t.me/Audiences_Channel 官方群组:绑定官方机器人加入 关门登录:通过官方机器人获取登录链接 #AGSV#AGSVPT 官方机器人:https://t.me/agsvpt_account_bot 官方群组:https://t.me/AgsvPT_public 关门登录:在网址后加 "/agsvpt" 即可。 #Azusa#梓喵 官方机器人:https://t.me/AzusaServiceBot 官方群组:绑定官方机器人加入 关门登录:通过官方机器人获取登录链接 #BTS#BTSchool#学校 无任何官方频道、群组、机器人。 非官方群组:https://t.me/btschoolclub 关门登录:只能自行备份 #BYR#BYRPT#北邮#北邮人 官方频道:https://t.me/byr_status 关门登录:印象中没关过门 #CarPT#车#车站 什么都没找到 #CHD#CHDBits#彩虹岛#岛 官方群组:https://t.me/+4GL9H6BlQrczNmM5 关门登录:不定期在 QQ 群内发送登录链接。 #Cyanbug#大青虫 官方群组:https://t.me/cyanbug 关门登录:印象中没关过门 #CMCT#SSD#春天 官方机器人:https://t.me/cmct_bot 官方群组:绑定官方机器人加入 官方频道:https://t.me/+xlhFGICfmOZmMGU9 非官方资讯频道:https://t.me/cmc_tnews 官种 RSS 官方频道:https://t.me/ssd_offical_rss 保种区 RSS 官方频道:https://t.me/ssd_guarder_rss 关门登录:通过官方机器人获取登录链接 #Dajiao#打胶 官方群组:https://t.me/DaJiaoPT_Group 关门登录:印象中没关过门 #DiscFan#碟粉 官方 RSS 机器人:https://t.me/DiscFan_RSS_Bot 官方 RSS 频道:https://t.me/DiscFanChannel 官方群组:https://t.me/discfanofficial 关门登录:印象中没关过门 #DICMusic#DIC#GreatPosterWall#GPW 官方机器人:https://t.me/DICGate_Bot 官方频道:https://t.me/DolphinIsComing 官方群组:https://t.me/joinchat/I5xEuEgEQ29Q75zV5WNW4g 账号申诉群:https://t.me/joinchat/LBgGJQs8DKhO7yOHFvH9Jw 关门登录:通过官方机器人获取登录链接 #DragonHD#龙之家 什么都没找到 #FRDS#KEEPFRDS#朋友 官方机器人:https://t.me/NasaRelayBot 官方频道:https://t.me/LetUsKeepFriendsForever 官方群组:https://t.me/+FrUb_hj2hodiNmZl 压制交流群:https://t.me/+V3PD9djMoUr4v38n 关门登录:印象中没关过门 #FreeFarm#自由农场 官方机器人:https://t.me/FFarmBot 官方频道:https://t.me/+TZrLdBvaoA4zMmY9 官方群组:https://t.me/+eItLwsrYPzlmNTQ1 关门登录:通过官方机器人获取登录链接 #FSM 官方机器人:https://t.me/FsmPrivateBot 官方频道:https://t.me/FsmNotify 官方群组:https://t.me/+9vgDC8VFVNlkMjE0 关门登录:印象中没关过门,如果登录不上挂个梯子试试 #GTK#ptgtk 什么都没找到 #GGPT#GameGamePT 官方频道:https://t.me/GGPTcom 官方群组:https://t.me/gamegamept 关门登录:印象中没关过门