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

Резултати

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

Пребарај: #rendezvous

当前筛选 #rendezvous清除筛选
3D-Hmangaupload

@hmangafor3duploadtest · Post #21024 · 15.01.2025 г., 15:52

#Mibo_重生篇#Milf#Milf_Mansion_01-02 #MILNII#Mimic_Trap_11#Mind_Transfer_1-6 #minoru#Mom#momi_oji#Monster_Ball_1-4 #Monster_Eater_-_Part_1 #Monster_Eater_-_Part_2 #Monster_Eater_-_Part_3 #Monster_Eater_-_Part_3_The_Girl_Eater #Monster_Eater_Origin_-_Prologue #Monster_Eater_Origin_1#Monster_Eater_Origin_2#Monster_Eater_Origin_2_Karen#Monster_Eater_Origin_3#Monster_Eater_Origin1+2 #Monster_rape#Monster_Sex_Trilogy#Motel#Mother_–_Desire_Forbidden_01-07_END #Mr_Wong_Spa_Resort_2#Mr.Foxx #Mr.R #Ms_I#Ms_ping#Ms._I #Mudus#My_mother#Nagisa#Naifu#Nameless_Peasant#nanomo#Naruto#Nature_of_Nurture_Chapter_One_1-2 #Naura_-_Magic_Crystal #Naura_-_The_Strange_Place #Nelesie#NeoDream3D#neoniez#Nevertired#New_Man_of_the_House_1-2 #New_Man_of_the_House_3-4 #New_Man_of_the_House_5#Nico#Nightmare_disorder_00-02.2 #NLT_Media#nomalman#nothingmore3d#Nox#NTR_FALLEN_IDOL_MOM#NTR教师_1-2 #NTR模拟器#NTR人妻寝取01-22+番外篇X2 #NTR蘇利亞學姐#NTR中毒患者#Numbersguy_part.1 #Numbersguy_part.2 #Octo_Monster#Office_Hour#Oh_No,_It #Old_Mack_&_the_Lovely_Bridget_1-2 #OLエルフ拉致レイプ#omasomas#OMG#One_Hot_Mess#One_Million_Years_A.D._1 #One_Shot_1-4 #One_shot_1\xa0\xa0 #One_shot_2\xa0\xa0 #One_shot_3\xa0\xa0 #One_shot_4\xa0\xa0 #ooo895623#Orc_House#Orcs#Oreo#Outlaw_+_Fiora_Glam #outofcontro#Outplayed#P站凌小東#panini#Pantsushi#Paradise_1#Parasite_in_City_-_Part_1 #Parasite_in_City_-_Part_2 #Part_1_⁄_6 #Part_2_⁄_6 #Part_3_⁄_6 #Part_3_Final#Part_4_⁄_6 #Part_5_⁄_6 #Part_6_⁄_6 #PashPash#Paycheck_Punishment_Program#Pegasus_Smit#Pegasus_Smith#Pent_Up#Perfect_Female_1-2 #PervertMuffinMajima#phloxcc#Photographic_Record_of_Raped_Mari#Pig_King#PISANTO_皮三豆#pixiv#Pixiv#PIXIV#pixiv:Gou #polaris#Pool_Dolls#Princess_&_5_Goblins_1 #Princess_&_5_Goblins_3 #Princess_Duty#Princess_in_Trouble#Princess&5Goblins_2 #Private_Casting_with_Erin#Private_Dick_1-3 #Private_Dick\xa0\xa01-3 #Prove_Thy_Self_1-2 #R-18 #ragon_III" #Random_shot#Rape_Night#Re:從零開始的NTR生活_1 #Re:從零開始的NTR生活_2 #Re.MαiΚΛ #RE調查隊_0-3 #Rendezvous#Rental_Body#Rental_Body_Complete#Resident_Evil\xa0\xa0雜圖 #Revenge_of_a_neglected_wife#Rex#RINRINRIN#Rise_Of_The_Guardians_1-3 #Rose_In_The_Hood_1-2 #Roy_jun#ryooo#ryota_tanaka#s_1-7" #s_A_Monster" #s_Adventure_-_Encounter" #s_Affair_Part_1#s_Apology#s_Bad_Ending(无码、有水印)" #s_Boyfriend_1-2" #s_Boyfriend_3" #s_Bride_1-2 #s_Control_1.0C-CG" #s_Dad#s_Demise" #s_Dilema" #s_Fate" #s_First_Sin#s_Freaky_Encounters_-_Night_Shift_Nurse" #s_Freaky_Encounters_-_The_Attic_of_Lust" #s_hostess_is_NINA" #s_Initiation" #s_Jill_Valentine" #s_Needs#s_Nightmare" #s_No_Nut\xa0\xa0November #s_Pleasure" #s_Revenge" #s_Skin_Ch._1 #s_story_chapter_1_all" #s_story_chapter_2._Part_1-5" #s_story_chapter_2._Part_1" #s_story_chapter_2._Part_2" #s_story_chapter_2._Part_3" #s_story_chapter_2._Part_4" #s_story_chapter_2._Part_5" #s_Summer_Break_1-3

Hashtags

#mibo_重生篇#milf#milf_mansion_01#milnii#mimic_trap_11#mind_transfer_1#minoru#mom#momi_oji#monster_ball_1#monster_eater_#monster_eater_origin_#monster_eater_origin_1#monster_eater_origin_2#monster_eater_origin_2_karen#monster_eater_origin_3#monster_eater_origin1#monster_rape#monster_sex_trilogy#motel#mother_#mr_wong_spa_resort_2#mr#ms_i#ms_ping#ms#mudus#my_mother#nagisa#naifu#nameless_peasant#nanomo#naruto#nature_of_nurture_chapter_one_1#naura_#nelesie#neodream3d#neoniez#nevertired#new_man_of_the_house_1#new_man_of_the_house_3#new_man_of_the_house_5#nico#nightmare_disorder_00#nlt_media#nomalman#nothingmore3d#nox#ntr_fallen_idol_mom#ntr教师_1#ntr模拟器#ntr人妻寝取01#ntr蘇利亞學姐#ntr中毒患者#numbersguy_part#octo_monster#office_hour#oh_no#old_mack_#olエルフ拉致レイプ#omasomas#omg#one_hot_mess#one_million_years_a#one_shot_1#one_shot_2#one_shot_3#one_shot_4#ooo895623#orc_house#orcs#oreo#outlaw_#outofcontro#outplayed#p站凌小東#panini#pantsushi#paradise_1#parasite_in_city_#part_1_#part_2_#part_3_#part_3_final#part_4_#part_5_#part_6_#pashpash#paycheck_punishment_program#pegasus_smit#pegasus_smith#pent_up#perfect_female_1#pervertmuffinmajima#phloxcc#photographic_record_of_raped_mari#pig_king#pisanto_皮三豆#pixiv#polaris#pool_dolls#princess_#princess_duty#princess_in_trouble#princess#private_casting_with_erin#private_dick_1#private_dick#prove_thy_self_1#r#ragon_iii#random_shot#rape_night#re#re調查隊_0#rendezvous#rental_body#rental_body_complete#resident_evil#revenge_of_a_neglected_wife#rex#rinrinrin#rise_of_the_guardians_1#rose_in_the_hood_1#roy_jun#ryooo#ryota_tanaka#s_1#s_a_monster#s_adventure_#s_affair_part_1#s_apology#s_bad_ending#s_boyfriend_1#s_boyfriend_3#s_bride_1#s_control_1#s_dad#s_demise#s_dilema#s_fate#s_first_sin#s_freaky_encounters_#s_hostess_is_nina#s_initiation#s_jill_valentine#s_needs#s_nightmare#s_no_nut#s_pleasure#s_revenge#s_skin_ch#s_story_chapter_1_all#s_story_chapter_2#s_summer_break_1