Daha çox

Xarici Python paketini QGIS-də necə qururam?


QGIS-də xarici bir paket qurmaq mümkündürmü? Məsələn: pdf hesabatlarını hazırlamaq üçün bir plagin yaratmaq üçün ReportLab-ı qura bilərəmmi?

Və ya Pandalar. Pandaları QGIS Python kitabxanasına necə qura bilərəm?


QGIS-in Python plugin asılılıqlarını qurmaq qabiliyyəti yoxdur. Bağımlılıkları özü qurmağı və ya asılılıq kodunu eklentinizə birləşdirməyi istifadəçiyə bildirməlisiniz. Linux / Windows altında QGIS ilə göndərilən məhdud sayda Python modulu var (Mac OS X-dən əmin deyiləm):

  1. tarix
  2. httplib2
  3. cinja2
  4. markupsafe
  5. burun2
  6. piqmentlər
  7. pyspatialite
  8. pytz
  9. siz
  10. yaml

Spyder - python - xarici paketləri quraşdırın

Python'u (Windows, 64bit daxilində) yeni istifadə etməyə başladım və anaconda / spyder mühitində xarici paketlərin necə qurulacağına dair əsas bir sualım var. Çox paket üçün sadəcə "conda install bunnies" istifadə edə biləcəyimi başa düşürəm. Bununla birlikdə, müəyyən paketlər anakonda deposunda deyil və xaricdən quraşdırılmış ola bilər (məsələn, github-dan). Bu paketlər üçün bu paketi tanımaq üçün spyderə sahib olmaq üçün - yalnız əlavə olaraq bu paketi yüklədiyi qovluğu (məsələn c: users bunnies) daxil etmək üçün Spyderdəki PYTHONPATH menecerini yeniləməlidir? Yoxsa əlavə addım atmalı / daha sürətli bir yol varmı?


12.2. Virtual mühitlərin yaradılması¶

Virtual mühit yaratmaq və idarə etmək üçün istifadə olunan modula venv deyilir. venv ümumiyyətlə Python-un mövcud olan ən son versiyasını quraşdıracaq. Sisteminizdə birdən çox Python versiyası varsa, python3 və ya istədiyiniz versiyanı çalıştırarak müəyyən bir Python versiyasını seçə bilərsiniz.

Virtual bir mühit yaratmaq üçün harada yerləşdirmək istədiyiniz bir qovluğa qərar verin və venv modulunu bir qovluq olaraq qovluq yolu ilə çalıştırın:

Bu, mövcud olmadığı təqdirdə təlimat-env kataloqu yaradacaq və içərisində Python tərcüməçisinin, standart kitabxananın və müxtəlif dəstəkləyən sənədlərin bir nüsxəsini ehtiva edən qovluqlar yaradacaqdır.

Bir virtual mühit üçün ümumi bir qovluq yeri .venv. Bu ad qovluğu adətən qabığınızda gizli saxlayır və buna görə qovluqun niyə mövcud olduğunu izah edən bir ad verərkən yoldan çıxır. Ayrıca bəzi alətlərin dəstəklədiyi .env mühit dəyişən tərifli sənədlərlə toqquşmanın qarşısını alır.

Bir virtual mühit yaratdıqdan sonra onu aktivləşdirə bilərsiniz.

(Bu skript baş qabığı üçün yazılmışdır. Əgər istifadə edirsinizsə csh və ya balıq qabıqlar, bunun əvəzinə istifadə etməlisiniz alternativ activate.csh və activate.fish skriptləri.)

Virtual mühiti aktivləşdirmək, hansı virtual mühitdən istifadə etdiyinizi göstərmək üçün qabığınızın təklifini dəyişdirəcək və mühiti dəyişdirin ki, python işlədib Python-un həmin versiyasını və quraşdırmasını əldə edəsiniz. Misal üçün:


1 Cavab 1

Nəyin səhv olduğunu başa düşmək üçün biraz vaxt aldım. Bunu mənbələrim siyahısının son sətrində görəcəksiniz. Buna görə də mənimlə eyni probleminiz varsa, nə etməli olduğunuz bu vikini izləməkdir.

Sonra etc / apt /ources.list.d saytındakı bütün ubuntugis və ya qgis asılılıqlarının silindiyindən əmin olmalısınız. Kod sudo rm /etc/apt/sources.list.d/ kimi görünəcək thegisfile

Nəhayət, buradan QGIS qurmaq üçün təlimatları izləyin və işiniz bitdi!


Frida iki PIP paketinə ayrıldı.

Frida paketi yalnız piton bağlamalarını ehtiva edir, frida alətləri əvvəlki buraxılışlarda tanış olan komanda xətti alətlərini də əhatə edir.
Bu, 12.0 buraxılışının xəbər postunda izah olunur:

CLI alətləri

Keçmişdə bir az qarışıqlığa səbəb olan bir şey, Python bağlamaların da bəzi CLI alətləri ilə gəlməsi idi. Frida alətlər düzəltmək üçün bir vasitədir və bir neçə nümunə alət təqdim etsək də, onları quraşdırmaq istəsəniz, sizin ixtiyarınızdadır.

Bu vaxta qədər bu, Python bağlarımızı istifadə edərək bir vasitə quran hər kəsin kolorama, sürətli vasitə dəsti və piqmentlərdən asılı olaraq sona çatması demək idi, çünki CLI alətlərimiz bunlardan asılıdır.

İndi dəyişir. Əgər etsən:

$ pip quraşdırma frida

İndi yalnız Python bağlamaları əldə edəcəksiniz. Daha heç nə. Və bu paketin sıfır asılılığı var.

CLI alətləri hələ də sizin üçün faydalı ola bilər, buna görə bunları quraşdırmaq üçün:

$ pip frida alətləri quraşdırın


Tətbiq asılılıqlarını idarə etmək¶

Paket quraşdırma təlimatı, Python paketlərini quraşdırmaq və yeniləmək üçün qurmağın əsaslarını əhatə etdi.

Bununla birlikdə, bu əmrləri interaktiv şəkildə idarə etmək, şəxsi layihələriniz üçün də yorucu ola bilər və bir çox iştirakçısı olan layihələr üçün inkişaf mühitlərini avtomatik olaraq qurmağa çalışarkən işlər daha da çətinləşir.

Bu təlimat bir tətbiq üçün asılılıqları idarə etmək üçün Pipenv istifadəsini sizə təqdim edir. Lazımi alətləri necə quracağınızı və istifadə edəcəyinizi və ən yaxşı təcrübələrə dair güclü tövsiyələr verəcəyinizi göstərəcəkdir.

Python'un çox fərqli məqsədlər üçün istifadə edildiyini və asılılıqlarınızı necə idarə etmək istədiyinizi, proqramınızı dərc etmək qərarına əsasən dəyişə biləcəyinizi unutmayın. Burada təqdim olunan rəhbərlik birbaşa şəbəkə xidmətlərinin (veb tətbiqetmələr daxil olmaqla) inkişafı və yerləşdirilməsində tətbiq olunur, eyni zamanda hər cür layihə üçün inkişaf və sınaq mühitlərinin idarə edilməsinə çox uyğundur.

Python kitabxanalarının və ya Python kitabxanaları kimi paylanmanı dəstəkləyən tətbiqetmələrin inkişaf etdiriciləri də şeir layihəsini alternativ bir asılılıq idarəetmə həlli kimi qəbul etməlidirlər.


Spack, çoxsaylı versiyaları, konfiqurasiyaları, platformaları və tərtibçiləri dəstəkləmək üçün hazırlanmış çevik bir paket meneceridir. Tez-tez bir çox fərqli yolla proqram qurmalı olan böyük superkompüter mərkəzlərinin və elmi tətbiqetmə qruplarının ehtiyaclarını dəstəkləmək üçün inşa edilmişdir. Spack, C, C ++, Fortran, R və digər dillər üçün paketlər qura bilən Python ilə məhdudlaşmır. Bir paketin yeni bir versiyasını quraşdırmaq, mövcud quraşdırmaları pozmamaq üçün dağıdıcı deyil, buna görə bir çox konfiqurasiya eyni sistemdə mövcud ola bilər.

Spack, istifadəçilərə versiyalarını və konfiqurasiya seçimlərini qısa şəkildə təyin etmələrini təmin edən sadə, lakin güclü bir sintaksis təklif edir. Paket faylları təmiz Python-da yazılır və tərtibçiləri, asılılıq tətbiqetmələrini (MPI kimi) dəyişdirmək və variantları tək bir paket faylı ilə qurmaq üçün şablonlaşdırılıb. Spack də yaradır modul paketləri istifadəçi mühitindən yükləmək və boşaltmaq üçün sənədlər.


1 Cavab 1

yeniləmə Blender üçün istifadəçi konfiqurasiya qovluğunun olduğunu öyrəndim

/.config/blender/<version>/scripts/, yalnız varsayılan olaraq bir addons qovluğu içərisində olsa da, bir modul və bir başlanğıc qovluğu da ola bilər. Paketlər modullar qovluğunda pip quraşdırılmışsa, onlar Blenderdən görünür, buna görə heç bir xüsusi virtual şəbəkə və ya iş vaxtı xüsusi yol manipulyasiyasına ehtiyac yoxdur.

Başqa sözlə, müasir bir Linuxda istifadəçim üçün Python qarışdırıcısında görünən bir Python paketinə sahib olmaq üçün edə bilərəm:

Windows-da, Blender üçün skriptlər qovluğunda, oxşar sualdakı cavablara uyğun olaraq, eyni şəkildə istifadə edilə bilən bir modul qovluğu olacaq: Üçüncü tərəf Python modullarından istifadə

əvvəlki cavab

Etdiyim şey, sistem yolunu gözdən keçirtmək və Python idxal kataloqu siyahısına sys.path aktiv virtualenvləri əlavə etmək üçün .py faylındakı eklentidəki digər idxalatlardan əvvəl işlədilən kiçik bir Python funksiyasıdır.

Gəldiyim son funksiya başqalarına kömək edəcək qədər güclü ola bilər. Bunu .py eklentilərinin başlanğıcına əlavə edirəm:


Əslində məşhur Debian Package Manager APT-nin ön hissəsi üçün bir paket olan pkg install istifadə edərək qurduğunuz paketlər. APT, Termux tərəfindən verilən paketləri yükləyir və quraşdırır. Yəni paketlər sadəcə Debian paketləridir. Bir az Googling və / və ya qazma ilə bunu tapa bilərsiniz fayl yolları kodlanmışdıryəni hər zaman /data/data/com.termux/files/usr içərisinə çıxarılacaq (quraşdırılmış).

Mümkün fəndlər, görünür, mümkündür. Bununla birlikdə, Termux-un həqiqi bir Linux mühitinə bənzədiyi üçün hər hansı birinin sınanması tövsiyə edilmir, bu da hər hansı bir pis SELinux kontekstində və ya səhv icazə proqramların arızalanmasına səbəb ola bilər.

Cavab: Paketləri başqa yerə qurmağı düşünmək əvəzinə Termux-da daha çox paket qurmağı planlaşdırırsanız daxili yaddaşınızı boşaltmağa çalışın.


Ancaq virtualenv və / və ya pip istifadə edirəm!

Bu paket idarəetmə alətləri ilə müqayisəyə baxın:

Pipi yalnız conda paket meneceri olmadan istifadə edin

boru qurğuları dəstəklənir:

Varsayılan quraşdırma prefiksinin OSC istifadəçilərinin paketi qura bilməyəcəyi sistem yoluna qoyulduğunu unutmayın. --User seçimi ilə prefiks, quraşdırılmış paketlər üçün lib, bin və digər yüksək səviyyəli qovluqların yerləşdirildiyi $ HOME / .local olaraq ayarlanır. Nəhayət, - upgrade seçimi mövcud paketləri ən yeni versiyaya yüksəldəcəkdir.

Bu yanaşma ilə əlaqədar bir çox Python modulu ilə portativlikdir. Tək bir Python modulu ilə qalmağı planlaşdırırsınızsa, bu problem olmamalıdır. Bununla yanaşı, fərqli Python versiyaları arasında keçid edirsinizsə, bütün Python versiyaları üçün eyni quraşdırma yerindən istifadə zamanı yarana biləcək problemlərdən xəbərdar olun.

Python virtual mühitində pip istifadə edin (yalnız Python 3)

Conda paketi quraşdırmalarının conda kanallarından mənbəyi olmadığı və ya asılılıq problemi olduğu bəzi hallarda, Python virtual mühitində pip istifadə etməyi düşünə bilərsiniz.

Virtual mühit yaratmaq üçün:

$ HOME / venv / mytest yolunu və ətraf mühit üçün yerli adı istifadə etdiyimiz yerdə başqa bir yol və ad istifadə edə bilərsiniz.


Videoya baxın: QGIS Python Programming Techniques: Working with Selections. (Oktyabr 2021).