Что делать если нужно поставить какую-то 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
Kontes Foto dan Lukisan Gus Dur !!! Yuk ikut give away buku " Menjerat Gus Dur ". Syaratnya gampang kok
1. Follow instagram @santrigusdur
2. Pastikan akun instagram milikmu tidak privat
3. Unggah fotomu dengan latar belakang foto atau lukisan Gus Dur di Pameran Foto dan 1000 lukisan Gus Dur di area Acara Puncak Haul Gus Dur di Pesantren Sunan Pandanaran Yogyakarta
4. Tulis deskripsi tentang foto atau lukisan Gus Dur yang anda ambil saat mengunjungi pameran tersebut
5. Mention 3 temanmu
6. Tag instagram @santrigusdur dan sertakan tagar #SatuDekadeGusDur#PameranFotoGusDur
Lokasi: Komplek 3 Pesantren Sunan Pandanaran Yogyakarta *Tersedia 3 buku "Menjerat Gus Dur" bagi 3 foto terbaik.
@jaringangusdurian
Assalamualaikum Wr. Wb.
Salam sejahtera bagi kita semua. Memasuki rangkaian kegiatan selanjutnya Haul Gus Dur ke-10. Kami Gusdurian Bandung mengundang Bapak/Ibu/Saudara/i untuk hadir dalam acara *Bedah Buku 'Menjerat Gus Dur'*, Yang akan dilaksanakan pada:
📋:Sabtu, 1 Febuari 2020
⏰:13.00-Selesai
🏢:PWNU Jawa Barat
Jl.Terusan Galunggung No.9, Lkr.Sel.Kec.Lengkong,Kota Bandung.
*Narasumber* :
~Verdika Rizki Utama (Penulis Buku Menjerat Gus Dur)
~Drs.KH.Nu'man Abdul Hakim (Ketua IKA PMII Jawa Barat)
~Awijaya (Koordinator Gusdurian Bandung)
*Pendaftaran*
klik bit.ly/bedahbukugusdur
atau SMS ke 0895175920 dengan format (Nama-Alamat-Daftar)
~Acara ini gratis dan terbuka untuk umum😉
Mari luangkan waktu untuk belajar~
Untuk pemesanan buku dapat hubungi melalui kontak person🙏🏻🙏🏻
Kontak person:
+62 852 9530 3195 (Jamiludin)
+62 898 5175 920 (Nurul)
#HaulGusdur2019
#satudekadeGusdur
#Jaringangusdurian
#gusdurianbandung
Hallo!!!
*Festival Kampung #5*
Kali ini tim acara festival kampung bekerjasama dengan Masjid Baitul Hikmah Gondolayu Lor mengadakan Nobar dan Tahlil bersama.
Film yang akan diputar adalah film tanda tanya "?"
So, Jangan Lupa Hadir dan menjadi salah satu bagian dari peringatan Haul Gus Dur Kali ini yak😊 yang akan dilaksanakan pada :
🏘 Masjid Baitul Hikmah Gondolayu Lor
🕑19.30 WIB
📅 Selasa, 25 Februari 2020
.
.
Catat tanggal nya dan jangan Lupa hadir ajak teman kalian sebanyak-banyaknya
#SatuDekadeGusDur#FestivalKampung
#Gusdurian
#TandaTanya
*Ziarah Pemikiran Gus Dur #3*
Rangkaian kali ini akan membedah buku Gus Dur berjudul *"Gus Dur Menjawab Perubahan Zaman"*.
Gus Dur sebagai cendekiawan tidak bisa dilepaskan dari rasa kemanusiaan. Dalam buku ini, Gus Dur menjawab beragam isu agama dan negara yang sangat relevan untuk dijadikan wacana solusi perubahan zaman.
Diskusi beda buku akan dilaksanakan pada:
Hari : Sabtu,1 Februari 2020.
Pukul : 15.00 - Selesai
Lokasi : Gedung Santi Sasana, Pura Jagadnatha.
Narasumber acara:
1. Savic Ali (Founder Islami.co)
2. I Nyoman Santiawan (Pengurus Parisada Hindu Dharma Indonesia DIY)
Acara ini akan dimoderatori oleh Misni Parjiati (Aktivis Srikandi Lintas Iman)
Silakan datang dan ajak teman terbaikmu. Kita belajar gagasan Gus Dur dan saling tukar pikiran.
#SatuDekadeGusDur
#Gusdurian
#ZiarahPemikiranGusDur
#PuraJagadnatha
Festival Kampung #4
Dalam rangka memperingati Haul Satu Dekade Gus Dur, Festival Kampung kembali hadir nih!! Kita akan mengadakan kembali NOBAR (Nonton Bareng dan diskusi) dan sekaligus Tahlil.
Film Kali ini tentu berbeda dengan film sebelumnya, kali ini film yang akan dibahas yakni film "Sang Kiai" film yang membahas tentang biografi KH. Hasyim Asy'ari, pendiri Nahdlatul Ulama'(NU). Penasaran kan bakalan seperti apa isi filmnya.
So, Jangan Lupa Hadir dan menjadi salah satu bagian dari peringatan Haul Gus Dur kali ini ya.
Acara ini akan dilaksanakan pada:
Hari :Sabtu,15 Februari 2020
Pukul : 17.00 WIB - Selesai
Lokasi : Balai dusun Putat, Bleberan, Playen, Gunung Kidul, Yogyakarta.
Catat tanggalnya dan jangan Lupa hadir ajak teman kalian sebanyak-banyaknya.
Catatan: Dalam rangka Satu Dekade Gus Dur kali ini kita melakukan kegiatan fundrising dengan menjual Kaos Gus Dur dan Buku Menjerat Gus Dur karya Virdika Rizky Utama. Seluruh keuntungan akan digunakan untuk kegiatan haul kali ini (Geser ke kanan >>>)
#SatuDekadeGusDur#FestivalKampung
#NontonBarengFilm
#WismaSalam
Ziarah Pemikiran Gus Dur
Acara bedah buku "Sang Kosmopolit" karya Hairus Salim yang dibedah Alissa Wahid dan Dr. Zuly Qodir. Acara ini dimoderatori oleh Anfasul Marom. Bagi teman-teman yang belum bisa hadir silakan datang ke acara-acara kita selanjutnya.
Acara ini merupakan kerjasama Santri Gus Dur dengan ISAIS UIN Sunan Kalijaga.
#Gusdurian
#SatuDekadeGusDur
#ZiarahPemikiranGusDur
#UINSunanKalijaga
#Isais