Что делать если нужно поставить какую-то 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
🎓🇷🇺 Σπουδάστε δωρεάν στα κορυφαία ρωσικά πανεπιστήμια!
Κάθε χρόνο χιλιάδες ξένοι φοιτητές επιλέγουν τα ρωσικά πανεπιστήμια — και εσείς μπορείτε να γίνετε ένας από αυτούς. Το ρωσικό κράτος προσφέρει υποτροφίες για δωρεάν εκπαίδευση σε ταλαντούχους φοιτητές από όλο τον κόσμο.
📚 Μια μοναδική ευκαιρία για υψηλού κύρους σπουδές και διεθνείς ακαδημαϊκές σχέσεις 🤝
📹 Μάθετε πώς να υποβάλετε αίτηση, παρακολουθώντας το σύντομο βίντεό μας.
Το μέλλον σας ξεκινά εδώ!
ℹ️ Επισκεφθείτε την ιστοσελίδα μας για περισσότερες πληροφορίες σχετικά με τη διαδικασία και τα απαραίτητα έγγραφα: https://clck.ru/3QBRfg
🎓🇷🇺 Учитесь в лучших российских вузах бесплатно!
Каждый год тысячи иностранных студентов поступают в российские университеты — и вы можете стать одним из них.
🇷🇺 Российское государство предоставляет квоты на бесплатное обучение талантливым студентам со всего мира. Это ваш шанс получить престижное образование 🎓 и укрепить международные связи 🤝.
📹 Узнайте, как поступить на бесплатное обучение, посмотрев наш короткий видеоролик.
Ваше будущее начинается здесь!
ℹ️ Подробная информация по ссылке: https://clck.ru/3QBRqb
#EducationInRussia#RussianUniversities#FreeEducation#образованиевроссии#studyinrussia#стипендия#учёбавроссии
💡 Ξεκίνησαν οι Αιτήσεις για τις Ολυμπιάδες του Κρατικού Πανεπιστημίου Αγίας Πετρούπολης 🌍🎓
Εξαιρετική ευκαιρία για αλλοδαπούς μαθητές και φοιτητές! Το Κρατικό Πανεπιστήμιο της Αγίας Πετρούπολης (SPbU) προσκαλεί συμμετέχοντες στις Ολυμπιάδες του, προσφέροντας:
❗ Πρόσβαση σε θέσεις προϋπολογισμού μέσω της υποτροφίας της ρωσικής κυβέρνησης.
❗ Δυνατότητα σπουδών σε ένα από τα κορυφαία πανεπιστήμια της Ρωσίας, ανοίγοντας τον δρόμο για ένα λαμπρό μέλλον!
Τι θα κερδίσουν οι μαθητές και οι φοιτητές που θα συμμετάσχουν:
🔴 Πρόσβαση σε μοναδική εκπαίδευση:
Το Κρατικό Πανεπιστήμιο Αγίας Πετρούπολης (SPbSU) είναι ένα από τα παλαιότερα πανεπιστήμια της Ρωσίας, με παράδοση στην εκπαίδευση επαγγελματιών παγκόσμιας κλάσης.
🟣 Μια οικονομική θέση:
Όλοι οι επιλεγμένοι υποψήφιοι έχουν την ευκαιρία να αποκτήσουν δωρεάν ποιοτική εκπαίδευση μέσω του προγράμματος ποσόστωσης της ρωσικής κυβέρνησης.
🔴 Επικοινωνία με τη διεθνή κοινότητα:
Πάνω από το 20% των φοιτητών του SPbSU είναι αλλοδαποί, δημιουργώντας ένα μοναδικό πολυπολιτισμικό περιβάλλον ιδανικό για μάθηση και κοινωνικοποίηση.
📋 Υποβάλετε την αίτησή σας:
Μπείτε στον προσωπικό σας λογαριασμό και ανεβάστε τα απαιτούμενα έγγραφα στον ιστότοπο της Επιτροπής Εισαγωγής (abiturient.spbu.ru) μέχρι τις 19 Φεβρουαρίου 2025.
Μην χάσετε αυτή την εξαιρετική ευκαιρία! 🎓
Χρήσιμες Πληροφορίες:
🖋️ Αιτήσεις: Υποβάλετε την αίτησή σας μέσω του προσωπικού σας λογαριασμού και ανεβάστε τα απαιτούμενα έγγραφα μέχρι τις 19 Φεβρουαρίου 2025.
📅 Ανακοίνωση αποτελεσμάτων: Τα αποτελέσματα θα δημοσιευθούν έως τις 14 Μαρτίου 2025.
📜 Πληροφορίες για τα θέματα και τις δοκιμασίες: Διαβάστε περισσότερα στον ιστότοπο της Επιτροπής Εισαγωγής https://abiturient.spbu.ru/reception-foreign/budget/ .
Ενημερωτικές Διαδικτυακές Συναντήσεις:
✔️ Έχετε απορίες; Συμμετάσχετε σε ενημερωτικές συναντήσεις για αλλοδαπούς υποψηφίους. Οι ειδικοί του SPbU θα εξηγήσουν:
• Τα πλεονεκτήματα των σπουδών στο SPbU.
• Τη διαδικασία εισαγωγής.
• Τις ευκαιρίες που προσφέρει το πανεπιστήμιο.
🗣️ Οι συναντήσεις πραγματοποιούνται σε 8 γλώσσες: ρωσικά, αγγλικά, ισπανικά, τουρκικά, γαλλικά, αραβικά, κινέζικα και πορτογαλικά.
🔗 Δείτε περισσότερα στο intmeet.spbu.ru
❤️ Σπουδές στη Ρωσία – Ανοίξτε τις πόρτες του μέλλοντός σας!
💡Открыт прием заявок на участие в олимпиадах для иностранных школьников и студентов
Стартовал прием заявок на участие в олимпиадах для иностранных школьников и студентов Санкт-Петербургского государственного университета. 🌍🎓
❗️Конкурсанты смогут поступить на бюджетные места в рамках квоты Правительства России, но и получить шанс открыть для себя перспективное будущее в одном из ведущих вузов России.
Студенты и школьники получат:
🔴доступ к уникальному образованию: СПбГУ — это один из старейших университетов России, который готовит профессионалов мирового уровня;
🟣бюджетное место: у каждого есть шанс получить качественное образование бесплатно;
🔴общение с международным сообществом: более 20% студентов СПбГУ — это иностранные граждане, что создает уникальную мультикультурную среду для обучения и общения.
Подать заявку в Личном кабинете (https://cabinet.spbu.ru/) и загрузить необходимые документы (https://abiturient.spbu.ru/reception-foreign/budget/) до 19 февраля 2025 года.
↗️Итоги олимпиад подведут до 14 марта 2025 года.
Узнайте больше о перечне предметов олимпиад и ознакомьтесь с описаниями испытаний на сайте Приемной комиссии (https://abiturient.spbu.ru/reception-foreign/budget/)
✔️ В случае возникновения вопросов можно присоединиться к циклу информационных онлайн-встреч с иностранными абитуриентами (https://intmeet.spbu.ru/). Эксперты расскажут о преимуществах обучения в СПбГУ, процессе поступления, а также о возможностях, которые открывает вуз.
Мероприятия проходят на 8 языках: русском, английском, испанском, турецком, французском, арабском, китайском и португальском.
❤️ Учитесь в России!
#ОбразованиевРоссии#EducationInRussia#СПбГУ#SPbU#StudyInRussia#Olympiads#InternationalStudents#EducationOpportunities#FreeEducation#CulturalExchange
A step closer to a rabies-free community!
I'm proud to share that I've been recognized as a Bronze-Level Dog Health Champion by the Global Alliance for Rabies Control (GARC). This certification fuels my passion for protecting both people and animals in our community.
The best part? The training that got me here is completely free and available for everyone on the GARC website! This knowledge empowers us all to make a difference.
Did you know that vaccinating 70% of dogs can break the cycle of rabies and protect everyone? As a DVM student, I am actively involved in educational activities to promote this and end the harmful practice of dog culling.
I believe education is power! If you're a school, community group, or just a concerned pet owner, I'm here to help us learn together. Let's work towards the goal of #ZeroBy30!
#CommunityHealth#DogVaccination#RabiesAwareness#GARC#DogHealthChampion#VeterinaryStudent#PublicHealth#LearnTogether#FreeEducation