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

Резултати

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

Пребарај: #newsletter

当前筛选 #newsletter清除筛选
硬核小卒

@yinghexiaozu · Post #1380 · 20.05.2023 г., 17:18

内容生产者所利用的人性 聊聊人性里的流量密码,或者说是流量密码里的人性。 往期目录 | 订阅#Newsletter

Hashtags

硬核小卒

@yinghexiaozu · Post #1374 · 09.05.2023 г., 15:17

Tailwind CSS:百万美元启示录 一个CSS框架是如何做到百万美元年收入的? 往期目录 | 订阅#Newsletter

Hashtags

硬核小卒

@yinghexiaozu · Post #1316 · 05.04.2023 г., 09:18

浏览器插件,独立开发者的第一步(3/n) 浏览器插件小专题的第三篇,来聊聊开发思路,以及我所谓的「平台依附型开发」的理念。 - 总会有人会为漂亮买单 - 改进或丰富现有插件的功能 - 每个热门网站都应该有配套插件 - 帮别人赚钱的工具最赚钱 - 跨界创造大量新机会 - 考虑平台提供的新接口 - 细分市场也大有可为 - 面向全球市场 - 借助开源打开局面 依附于有着极大用户基数的平台做开发,可以为我们节约大量的研发成本和获客成本,让成功率大很多。这是一种借力的艺术。 这样的平台还包括 App Store、微信、Notion、Slack、VS Code、Twitter、Discord、Telegram、Facebook、Shopify、WordPress、Raycast…… 往期目录 | 订阅#Newsletter

Hashtags

硬核小卒

@yinghexiaozu · Post #1299 · 26.03.2023 г., 12:47

浏览器插件,独立开发者的第一步(2/n) 浏览器插件小专题第二篇,这一期,我们主要来聊聊商业模式,聊聊赚钱的事情。 往期目录 | 订阅#Newsletter

Hashtags

硬核小卒

@yinghexiaozu · Post #1277 · 18.03.2023 г., 13:44

两个平淡而坚定的故事 最近,AI 技术一日千里,各种创新、文章、项目应接不暇,但也让人颇有些审美疲劳。 索性,这一期我们来聊点轻松的,聊聊生活和人生。 往期目录 | 订阅#Newsletter

Hashtags

硬核小卒

@yinghexiaozu · Post #1263 · 11.03.2023 г., 10:07

浏览器插件,独立开发者的第一步(1/n) 最近我打算开一个关于浏览器插件开发的小小专题,因为我发现浏览器插件是一个被严重忽视和低估的方向,值得好好研究一下。 本期将重点讨论浏览器插件开发的优点和缺点,后续几期将讨论浏览器插件的商业模式、可尝试的开发思路、「平台依附」的开发理念以及一些代表性案例的分析。 这个小专题会对这些读者比较有帮助: - 享受创造的乐趣的; - 尝试成为独立开发者的; - 打算动手开发产品的小团队; - 想要为自家产品扩展市场的。 硬核小卒Newsletter 是我个人原创的阅读栏目,鼓励有能力有兴趣的朋友加入付费会员。 往期目录 | 订阅#Newsletter

Hashtags

硬核小卒

@yinghexiaozu · Post #1252 · 04.03.2023 г., 17:05

科技进步会让我们失业吗? 这是 ChatGPT 系列话题的第三期,不出意外的话,这也是该系列的最后一期。这一期,我们来聊聊「科技进步」、「失业」与「技术红利」相关的话题。 「科技进步可能会消灭掉 Jobs,但是不会消灭掉 Work。」 「没有人能抵挡时代的洪流,我们能做的只是调整好姿势,让风浪把我们带到更高更远的地方。」 从这一期开始,硬核小卒 Newsletter 将会把重心放到付费专享内容上,欢迎成为小卒的铁粉。 往期目录 | 订阅#Newsletter

Hashtags

硬核小卒

@yinghexiaozu · Post #1197 · 07.02.2023 г., 06:31

硬核周报#3:如何寻找灵感? 创意的本质、知识圈子、借用与盗窃、放松身心 我们生活中很多微不足道的想法都是毫无意义的,但是在这些毫无意义的想法里又蕴含了很多灵感,它们如同浮萍一般,漂浮在想法之海上,闪烁着稀疏的荧光。 这一期咱们来聊点轻松的话题,聊聊想法、灵感和创意。 #newsletter

Hashtags

123•••10•••1617
ПретходнаСтраница 1 од 17Следна