@airportroster · Post #576 · 20.02.2022 г., 06:59
#编号480 #WallLess#无界 收录时间:2022.02.20 官网:https://www.wallless.xyz 群组:@wjvpn 频道:@wujie_notice 商店截图
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
Пребарај: #wallless
@airportroster · Post #576 · 20.02.2022 г., 06:59
#编号480 #WallLess#无界 收录时间:2022.02.20 官网:https://www.wallless.xyz 群组:@wjvpn 频道:@wujie_notice 商店截图
@guyingcs · Post #304 · 30.04.2024 г., 11:16
#五一优惠码#优惠码 #Kuromis 优惠码: 2024-Labor-Day 有效期至:2024/05/14 00:00:00 #FlowerCloud 优惠码: BINGSUANG 2024年4月1日 0:00 开始到4月30日 23:59 全场 8折,不包括 Air/企业套餐 #Ytoo 优惠码: 202401 2024年4月1日 00:00 至2024年4月30日 23:59 结束 全场 8.8 折,不包括Air/Team套餐 #Anyland 福利第一重年套餐(特别优惠)9折特惠,特惠码: 51go 福利第二重 购买年套餐(特别优惠),赠送有效时长: Plus年套餐(特别优惠):赠送30天有效时长; VIP、King年套餐(特别优惠):赠送45天有效时长。 福利第三重 独享福利账号大赠送: 不限时流量套餐500G或以上:Tiktok/Instagram独享账号2选1赠送 Mini年套餐(特别优惠): ChatGPT/Tiktok/Instagram独享账号3选1赠送 Basics年套餐(特别优惠): ChatGPT/Tiktok/Instagram独享账号3选2 赠送 Plus、VIP、King年套餐(特别优惠):美区苹果iCloud账号/ChatGPT/Tiktok/Instagram独享账号4选3 赠送 活动时间:2024年4月27日到2024年5月10日 #XFSS#XFLTD 优惠码: 拼命打工人 年付不可用 活动时间:0425 - 0506 #OuO 八折优惠码: 20%OFF #阿伟云 月付套餐8.5折优惠码: 5.1 2024/5/7 23:59结束 #NiceDuck 9折优惠码: duck-9 限月付、季付、半年付使用 8折优惠码: duck-8 限年付使用 有效期:2024/4/28—2024/5/2 #蛋挞云 8折优惠码: 5.1HappyHappy #CoffeeCloud 全场85折优惠码: Labour 活动时间:4.29~5.5 #跑路云 季付/年付九折优惠码: The-Other-Side 5月6号10点结束 #ESNC 2024/04/29 23:20 ~ 2024/05/05 23:59 除Tiny可用 88折优惠码: 12% OFF #SWIFT 优惠码: Happy5.1 有效期截止到5.5 #YkkCloud 年付七折优惠码: rDtveMFT 季付及半年付七五折优惠码: JCgBksWJ 月付八折优惠码: naj186gO 有效期至:2024/05/07 23:59 ##TsunamiNet 任意订阅年付75折折扣码: May the Tides Be with You 持续到 5.7 #私房菜 月付以上9折: labor9 年付以上85折: labor85 4.29-5.10 可用 #CTC02 85折优惠卷: 15%OFF 活动时间至5月6日 #Wallless 9折优惠码: MF0mmB3L 8折优惠码(年付可用,限量!): U813PBkH 新购、续费均可使用 每人限用一次 #FANRR 适用范围:任意订阅 七折优惠码: GenShinMaster 有效期至:2024/05/10 23:59 #一分机场 五一8折优惠码: 202405 有效期至 2024-05-07 #Oppenheimer 通用75折优惠码: happy51 季付年付以上6折优惠码: happier51 活动时间从4/30-5/10 排名不分先后