Что делать если нужно поставить какую-то 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
Рабочей субботе посвящается...
Инь Жэнь ходит на работу, чтобы поесть. А у вас как обстоят дела с рабочей мотивацией?
❝ — У меня нет планов менять работу, — продолжил Инь Жэнь.
Ему не нужны были ни деньги, ни статус, ни женщины. Ему нужна была столовая Шиана!
Нянь Чжун. Зло похоже на людей. Глава 33. Легенда о воскрешении
#China#novel#NianZhong#EvilAsHumans
Что такое эпичное начало отношений
Великое Зло сбежало из дурдома. На тёмной улице напоролось на странного парня, которого по чистой случайности хотела сожрать какая-то хтонь. Странный парень Зло приметил, но хтонь заигнорил настолько, что та обиделась и решила с досады сожрать Зло, но не рассчитала массовую категорию противника и оказалась сожранной в ответ. Всё в рамках принципа: "Попался, который кусался!".
И это был пролог, чтоб вы понимали.
#China#novel#NianZhong#EvilAsHumans
Несу две прекрасные новости поклонникам китайских новелл
🔅 Сегодня был закончен перевод основного текста новеллы Нянь Чжун "Зло похоже на людей" от прекрасной ulik3221. Текст доступен на фикбуке (необходим VPN). В обозримом будущем планирую за него взяться — ждите апдейты!
🔅 С разрешения команды переводчиков SHENYUAN сообщаю, что удаленный ранее с wattpad перевод новеллы "Лю Яо" Прист был перезалит на новый аккаунт. Позднее будет восстановлен и перевод "Лехо" после некоторой корректировки текста. Следите за новостями, сейчас идут зачистки платформ, поэтому нужно держать нос по ветру.
Атрибутировать арт не смогла, но взяла с сайта англоязычных переводчиков "Зла" Kinky Translations. Показался весьма атмосферным, но насколько он попадает в историю — узнаем в скором времени.
#China#novel#NianZhong#EvilAsHumans
Продолжаю читать "Зло похоже на людей" Нянь Чжун
На сцене знакомства Древнего Зла с родителями напарника я зависла, пытаясь понять, что же она мне напоминает. А разгадка была буквально под носом — просто посмотрите на то, как сокрушается мать Янь Се, оглядываясь на жизненный путь непутёвого сына (достаточно вспомнить, сколько свиданий вслепую он опрокинул). Этим двум почтенным дамам было бы о чём поговорить! (кстати, тот момент, что Чжун Чэншо оказался приёмным ребёнком, которого приютили люди, поймавшие его родители-серийников, меня очень впечатлил):
❝ — Когда нашему сыну исполнилось восемнадцать, я думала, что ему будет достаточно принцессы. Когда ему исполнилось двадцать пять, я думала, что он сможет найти себе девушку из хорошей семьи. К тридцати годам моя жалкая просьба была сведена к минимуму: женщина должна быть живой и хотя бы моложе меня!
Хуай Шан. Разрывая облака. Глава 45. Дело 619. Окровавленная одежда жертвы похищения
❝ — Что "мама"? Мы с отцом уже скоро отправимся на тот свет. Можно нам о тебе побеспокоиться? — сердито фыркнула женщина, после чего повернулась к Инь Жэню, — Сяо Инь, не принимай мои слова близко к сердцу. Тётушка просто шутит. В конце концов, мы же просто беспокоимся за нашего ребёнка. И вообще, у нас всего три требования к его спутнику или спутнице жизни: чтобы он был живой, достиг брачного возраста и был моложе нас.
Мда... На самом деле, Призрачный Король подпадал только под одно требование: достиг брачного возраста. Но им это знать необязательно.
Нянь Чжун. Зло похоже на людей. Арка 2. Игрок. Глава 24. Его родители
#China#novel#HuaiShang#PoYun#NianZhong#EvilAsHumans
Раз я с лёгкой руки Цзян Цзыбэй вернулась к чтению новелл, этим стоит воспользоваться, чтобы добить одну давно начатую прекрасную историю и начать другую, с которой я с большой вероятностью сойдусь "характерами". Планы такие:
🤩 "Зло похоже на людей" Нянь Чжун
🤩"Земля Онлайн" Мо Чэньхуань
#China#novel#MoChenHuan#EarthIsOnline#Кислород#NianZhong#EvilAsHumans
Несу вам еще одну добрую весть, ибо не могу дотерпеть до утра
Завершен перевод основного текста новеллы "Законы другого мира" Цзяотан Дунгуа(2016, 108ch+15ex)
Метки: Вымышленные существа, ксенофилия, насилие, параллельные миры, приключения, романтика, слоуберн, фантастика, экшн
Описание: Неудачная спасательная операция забрала жизни всех членов команды Чжоу Юя, а сам он после неё вынужден был отправиться в параллельный мир Нибелунги. Здесь действуют три закона: не показывайте своего страха, не ведитесь на красоту и не обманывайтесь мимикрией организмов S-уровня. Они понимают, как вы мыслите, и знают, как прельстить вас. Помните, что они не способны испытывать человеческие эмоции и любовь. Для них все люди одинаковы.
Что же, счастливого пребывания на Нибелунги.
Выражаю бесконечную признательность переводчице (ulik3221) за такую быструю и самоотверженную работу. Если вы читали в русском переводе новеллы "Глобальный вступительный экзамен" и "Первоклассный адвокат" Му Сули, то не мне вам рассказывать, какой прекрасный слог у этих текстов. Желаю ей сил и вдохновения и с нетерпением жду полного перевода мистической хоррор-новеллы "Зло похоже на людей" Нянь Чжун
Еще раз покажу вам шикарные обложки трехтомного тайского издания новеллы от Rose Publishing
#China#novel#JiaoTangDongGua#LawsOfTheOtherWorld#NianZhong#EvilAsHumans#список#ThaiCover
Апдейта по прочитанному снова не будет (посыпаю голову пеплом), но вместо этого оставлю здесь сумбурную заметку о горизонтальных и вертикальных ассоциациях вокруг прочитанных новелл
⭐️ Когда я читала "Седьмого Господина" Прист, я поймала себя на мысли, что уровень трагизма с первой же главы слегка зашкаливал (ничего не имею против) — история перерождений Цзин Бэйюаня оставляла привкус горечи и безысходности, а финальный аккорд в виде жертвы, которая в последнее перерождение вернула тому чёрные волосы, был таким непередаваемо щемящим, что меня не могло не сразить наповал... Апдейт: это был не предел. В "Старшем брате"Прист понадобились две главы, но переход в реалистичный сеттинг сделал своё дело — на месте, где должны были быть чувства, осталось полное опустошение.
⭐️ Когда я узнала о прошлом Фэй Ду из "Безмолвного чтения", я думала, что сложно себе представить более трагичное детство (когда к этому не было никаких внешних предпосылок). Но нет, первые 13 лет жизни Вэй Цяня из "Старшего брата" оказались тем ещё адом: он был зачат в результате изнасилования и стал для своей матери воплощением искалеченной судьбы. Мог ли он быть любим? Мог ли он в полной мере ненавидеть мать-наркоманку, когда так зависел от неё?
Отношение Вэй Цяня к ней было очень неоднозначным, но страх перед её безумием заставил мальчика задуматься о том, что единственный способ прекратить мучения — подсыпать ей яд в пищу и уйти вслед за ней.
❝ Гамлета мучил вопрос: "Быть или не быть?", но вопрос, который в детстве мучил Вэй Цяня, был куда серьёзней: "Убить мать или не убить?" (Глава 2)
⭐️ Так вышло, что сейчас я читаю в параллели три новеллы, в которых у главных героев скопился незавидный багаж сомнительных семейных связей.
К Вэй Цяню можно на минутку присоседить Чжун Чэншо ("Зло похоже на людей" Нянь Чжун) — сына серийных убийц, которого усыновили копы. Хотя с приёмными родителями ему повезло гораздо больше, чем Цзян Чэну ("Дерзай!" У Чжэ) — тот в 17 лет узнал, что был приёмным сыном, и был вытурен к биологическому отцу в богом забытую провинцию. А всё почему? А всё потому, что его буйный нрав мутил стоячие воды рафинированной приёмной семьи. В итоге парню пришлось мириться не только с чужим и чуждым окружением, но и с собственной ненужностью и порванными связями. И вдобавок родной папаша оказался игроком и пьянью, что заставило мальчишку содрогнуться от одной мысли о том, какой отпечаток оставят на нём такие кровные узы. Мрак да и только.
Выход? Строить новые связи и создавать свою собственную семью не по крови, но по духу. Хотя для начала достаточно просто выжить и не спиться.
Cr.: 顾旧云深 (weibo)
#China#novel#Priest#LordSeventh#DaGe#NianZhong#EvilAsHumans#WuZhe#SaYe