Что делать если нужно поставить какую-то 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
Рассказ о том, как я снова не стал СЕО американской компании
Эта компания всегда вызывала у меня огромное восхищение. Многолетнее лидерство в сочетании с высокой технологичностью.
Предложение пришло неожиданно: моя карьера в одном из банков, скажем так, клонилась к закату, и я с интересом поглядывал вокруг. И вдруг – такое!
У меня было несколько собеседований в Москве и два разговора по скайпу – с потенциальными заокеанскими боссами.
Я провёл невероятное количество времени в подготовке к этим встречам. Я читал статьи в зарубежной прессе, изучал презентации и обзоры, досконально прочесал несколько сайтов самой компании, просмотрел с десяток интервью с её топ-менеджерами. Я нашёл на российском рынке нескольких специалистов с опытом работы в этой, неизвестной мне, индустрии и с пристрастием с ними… позавтракал.
Я очень хотел оказаться на этой позиции. Но меня не взяли. Я вновь дошёл до топ-2, но мне предпочли топ-менеджера, который имеет большой опыт взаимодействия с государственными органами. Как я сейчас понимаю, это решение было правильным и единственно возможным для совета директоров.
Было ли мне обидно? Конечно. Но после этой истории моя карьера сделала несколько причудливых оборотов и «я счастлив тем, как сложилось всё, даже тем, что было не так», как поёт «Аквариум» в одной из чудесных ранних песен…
Есть ли в истории моих двух условных карьерных неудач мораль?
Мне не хотелось бы рядиться в одежды моралиста, но несколько выводов я для себя сделал.
1️⃣ Если оказался на Олимпийских играх, надо изо всех сил бежать. Участие – само по себе награда.
2️⃣ Если пошёл за грибами, не огорчайся, если найдёшь не грибы, а ягоды. Не получив работу, я обзавёлся друзьями и новым опытом.
3️⃣ Всё, что Бог ни делает, – к лучшему.
#CEO
@korovinteam
Рассказ о том, как я не стал СЕО американского банка
Первая неудачная попытка возглавить банк с участием нескольких американских фондов в капитале состоялась в самом начале 2000-х. Мне было двадцать девять лет без малого, когда я стал членом правления небольшого российского «Импэксбанка». После дефолта 1998 года международные рынки, на работе с которыми специализировалась моя команда, были закрыты и мы предпринимали гигантские усилия, чтобы открыть корреспондентский счёт за рубежом, получить кредитную линию на краткосрочные операции на финансовых рынках и договориться с международными рейтинговыми агентствами о получении кредитного рейтинга. Шаги были, безусловно, черепашьими, переговоры – нечастыми, у меня оставалось много свободного времени, и я… как-то заскучал.
Тогда-то и пришло это волшебное предложение.
В общей сложности, у меня состоялось пять встреч. Помню встречу в офисе на Тверской с одним из членов совета директоров банка: он закинул ноги на журнальный столик между нами, я разглядывал полустёртые подошвы его кожаных ботинок и отвечал невпопад. Помню встречу с американкой, представляющей интересы крупнейшего акционера. Мы зацепились языками, проговорили битых два часа и, несмотря на неудавшееся партнёрство на банковском проекте, крепко подружились. Впоследствии мы неоднократно встречались и в Москве, и в США во время моих командировок. Встреча с представителем другого фонда была тоже невероятно мотивирующей и тоже переросла в многолетнюю дружбу.
Последней была встреча с главным боссом, председателем совета директоров. Он поинтересовался, зачем я пошёл учиться в Литературный институт. Я ответил ему что-то вроде того, что мне всегда нравилось писать стихи и прозу (что было правдой) и что у меня появилось немного свободного времени (что тоже было правдой). Главный босс на это хмыкнул и увёл дискуссию в сторону.
В общем, меня не взяли. Я попал в топ-2, но уступил другому кандидату. На этих выборах я получил четыре белых шара и один чёрный – от главного босса. Он справедливо решил, что я не обладаю опытом первого лица и предпочёл мне более зрелого топ-менеджера. Честно говоря, на его месте я принял бы точно такое же решение.
Между тем, пока шли эти переговоры, жизнь в «Импэксбанке» забурлила. Иностранные контрагенты начали проявлять к нам благосклонность, открывать счета и «непокрытые» кредитные линии. У меня состоялся разговор с председателем правления, и он, видя, что я заскучал, передал мне в кураторство ещё несколько направлений, включая работу с малым и среднем бизнесом. Я недоучился на заочном отделении Литинститута и после двух с половиной лет учёбы подал документы на отчисление. Начался новый период моей карьеры – едва ли не самое интересное время, – которое закончилось в 2006 году, когда мы договорились о продаже банка Группе Райффайзен.
Через некоторое время на моём горизонте появилась ещё одна американская компания, но об этом – в следующий раз 😎
#CEO
@korovinteam
Доверять ли первому впечатлению при найме
Дело было на заре моей карьеры СЕО. Я недавно стал руководителем банка, и один из моих прямых подчиненных принёс мне резюме кандидата на ключевую роль в своём подразделении.
У меня есть правило: у всегда стараюсь знакомиться с кандидатами на самые важные позиции в организации и обязательно встречаюсь с прямыми подчинёнными членов моей команды. Я поступаю так по двум причинам: во-первых, мне важно понять, каких людей и почему рассматривают топ-менеджеры, а в-вторых, я стараюсь не упускать возможности поделиться с потенциальным новобранцем своим взглядом на стратегию компании и заодно ответить на вопросы.
Но в этом случае что-то пошло не так. На первой встрече кандидат мне решительно не понравился, и я поделился опасениями со своим коллегой. Он настаивал на том, что для нашего банка именно этот кандидат идеален. Тогда я вновь встретился с претендентом на высокую должность. На этот раз я был менее категоричен и не стал накладывать вето на предложение своего заместителя, который упорно стоял на своём. «Что ж, если ты так настаиваешь на этом специалисте, берём его под твою ответственность и через два-три месяца вернёмся к разговору», заявил я коллеге.
Результат превзошёл все ожидания: молодой человек быстро освоился в банке и за считанные недели навёл порядок во многих профильных вопросах.
А что я? Я признал, что допустил ошибку и доверился первому впечатлению.
С тех я провёл сотни собеседований и, вероятно, бывал не менее категоричен. Задним числом не проверишь, сколько подходящих сотрудников было среди тех, по которым я и другие члены моей команды вынесли отрицательный вердикт...
Но каждый раз, когда я встречаюсь с очередным кандидатом, я вспоминаю эту давнюю историю и стараюсь не доверять полностью первому впечатлению. Хотя бы для того, чтобы не проворонить звезду.
#CEO
@korovinteam
🙃 مجموعه PreCode فعالیت خود را به صورت گسترده شروع کرده و آماده دریافت پروژه های شما میباشد.
♻️ تحویل پروژه ها به صورت بهینه و امکاناتت دلخواه کاربر
🔻 برنامه نویس های مجرب و متعهد
🔻 پشتیبانی در برابر باگ های کد پروژه ( تحریم ها شامل نمیشوند )
🔻 هزینه به صرفه
💠 پروژه های اندروید، فرانت، بک اند،سئو،اپ ویندوز و ربات تلگرام،بله،سروش خود را به ما بسپارید.
😬 درخواست پروژه : @dev_null
⚒ گروه پرسش و پاسخ :
🆔https://t.me/+lDSoNUlTK1Y5ZDNk
🔥 | پیش کد : Pre Code خواستار امنیت در پروژه - #CEO
🔰 | @Pre_Code
🙃 مجموعه PreCode فعالیت خود را به صورت گسترده شروع کرده و آماده دریافت پروژه های شما میباشد.
♻️ تحویل پروژه ها به صورت بهینه و امکاناتت دلخواه کاربر
🔻 برنامه نویس های مجرب و متعهد
🔻 پشتیبانی در برابر باگ های کد پروژه ( تحریم ها شامل نمیشوند )
🔻 هزینه به صرفه
💠 پروژه های اندروید، فرانت، بک اند،سئو،اپ ویندوز و ربات تلگرام،بله،سروش خود را به ما بسپارید.
😬 درخواست پروژه : @dev_null
⚒ گروه پرسش و پاسخ :
🆔https://t.me/+lDSoNUlTK1Y5ZDNk
🔥 | پیش کد : Pre Code خواستار امنیت در پروژه - #CEO
🔰 | @Pre_Code
El lobby de los #CEO en la #UE: #PactoVerde, desregulación y expansión comercial
«Para mantener su prosperidad y estabilidad, la UE necesita reducir la carga regulatoria para las empresas, finalizar más acuerdos comerciales y convertir el Pacto Verde en una estrategia de crecimiento en la próxima legislatura»
https://www.euractiv.com/section/economy-jobs/opinion/the-eus-global-leadership-relies-on-strong-companies/
Новая команда: уволить или оставить?
Пришёл вопрос:
Меня недавно назначили СЕО. В моей команде есть несколько не вполне лояльных мне (да и организации в целом) топов. Боюсь их уволить, потому что они держат основную экспертизу. Как поступить?
Мой товарищ, вице-президент крупного промышленного холдинга, рассказал мне на прошлой неделе историю про одного такого генерального директора. После назначения на должность он сосредоточился на выполнении планового задания и лишь отмахивался от предложений поменять команду. Жалобы и сплетни коллег в своём коллективе он называл «мушиной вознёй» и «комариным писком».
Через несколько месяцев эта мушиная возня дошла до акционеров компании, по дороге приняв форму «справедливой критики, высокомерно отвергаемой новым гендиректором», и акционеры не утвердили контракт генеральному.
Команда – это первое, чем, а вернее, кем, должен заниматься вновь назначенный руководитель.
«Снести» прежнюю команду и поставить на все позиции «своих» людей – эффектный, но не самый правильный вариант. Ещё менее правильное решение – ничего не делать и плыть по течению.
Идеальный вариант, как обычно, посредине:
✔️выявить компетентных и готовых работать с новым руководством – таких оставить и, возможно, даже улучшить для них контрактные условия работы;
✔️выявить нелояльных – таких срочно заменить, даже если есть риск потери части компетенций: тем быстрее вы найдёте на эти позиции новых сотрудников;
✔️вывести на ключевые вакантные позиции бодрых и профессиональных новичков, и не так важно, откуда, – из вашей записной книжки или с помощью кадрового агентства
И ещё один момент. Карт-бланш на смену команды, который обычно даётся новому руководителю, действует недолго – не больше одного-двух месяцев. Если вы сразу не поменяете хотя бы часть команды, впоследствии вам будет гораздо тяжелее это сделать. Хотя бы уже потому, что вы сами начнёте допускать ошибки, которыми ваши нелояльные подчинённые не преминут воспользоваться.
И тогда готовиться к увольнению уже придётся вам.
#команда
#CEO
@korovinteam
🔔Экономическое обоснование (аудит) GR-функции
🙌Baikal Communications Groupобъявляет о запуске новой аналитической услуги по экономическому обоснованию (аудиту) GR-функции.
📌 Продукт предполагает количественную и качественную оценку эффективности взаимодействия с органами государственной власти для повышения прозрачности и результативности GR-деятельности, аргументированного обоснования решений и формирования эффективной стратегии профильного подразделения компании.
‼️Экономическое обоснование (аудит) GR-функции поможет определить, как текущие и перспективные активности компании в сфере взаимодействия с государством способствуют достижению стратегических целей, минимизации рисков, созданию долгосрочных конкурентных преимуществ.
⤵️Услуга будет полезна:
✔️ компаниям, у которых уже есть GR-подразделение и бизнесу, который только задумывается о его формировании;
✔️ собственникам бизнеса, акционерам, топ-менеджменту, руководителям GR-департаментов.
⤵️ В практическом смысле услуга позволит:
✅ рассчитать потенциальные экономические эффекты от создания GR-функции в компании;
✅ обосновать объем бюджета GR-подразделения;
✅ оценить эффективность работы GR-подразделения;
✅ оптимизировать работу GR-департамента.
🗓 Ознакомиться подробнее с форматами сотрудничества и проектами можно на сайте компании в разделе «Услуги». Для получения дополнительной информации или обсуждения возможностей сотрудничества направьте запрос на электронный адрес:[email protected].
#GRфункция#CEO#услуги