Šta je novo?

Python, Anaconda, Django...

Matori

Slavan
Učlanjen(a)
22.10.2008
Poruke
291
Poena
319
Premda se radi o web projektu, moja pitanja su pretezno "desktop prirode", pa mislim da je thread adekvatniji za ovu sekciju...
U prvoj poruci cu da napisem dosadnjikav uvod, za slucaj da je potreban. Ali, svima predlazem da skoce direktno na pitanja (u sledecem postu), pa tek ako ne budu jasna, da se vrate ovde.

U jednom postu napisah:
Matori je napisao(la):
Ja sam polupenzionisani desktop programer, koji povremeno dobije neki web zadatak. U takvim slucajevima naucim sta treba, koliko mi treba da uradim pos'o, a onda zaboravim sve do sledeceg slucaja...
Sad nasledjujem jedan sajt koji odlaskom starog programera dobija novi hosting. ...

Dakle, nasledio sam jedan sajt, na cijem ubrzanom razvoju vec uveliko radim. To deluje dosta bezazleno, ali problem je u tome sto ja desetak godina nisam imao nikakva web posla, osim povremenog pisanja PHP koda, za ozivljavanje statickog interfejsa koji je neko drugi napravio. To je manji problem; veci problem jeste - sajt je "oblozen". Objasnicu...
(Oprosticete mi sto cu ovaj uvod iskoristiti da se malo iskukam)

- U HTML-u nisam radio nista pomena vredno, otkad je petica izasla. Nisam imao bas mnogo pojma sta sve novo ona donosi
- U CSS-u sam radio nesto malo, pre desetak godina
- Ima mnogo javascripta, u kojem nisam radio dvajes' godina

Ovo je sve bezazleno, ali postoje ozbiljnije smetnje:

- HTML, CSS i javascript nisu slobodni, nego su u sastavu BOOTSTRAP projekta. Za Bootstrap nisam nikada ranije ni cuo...
- Bootstrap projekt nije slobodan, nego je u sastavu DJANGO projekta. Ni za Django nisam nikada ranije cuo...
- Podloga je Python, za koji sam naravno cuo, ali u njemu nisam nikad radio. Ovo nije narocit problem, navodim samo zbog "akademske kompletnosti".

Python umesto PHP-a? To sam pozdravio. Lepse i interesantnije mi je da ucim Python od nule, nego da se podsecam PHP-a. Ali, sta ce mi Bootstrap i Django???
Predlozio sam gazdi da mu uradim sve od nule. Odbio je. 'Oce da uspostavim punu kontrolu nad projektom takvim kakav je (tako mora zbog nekih partnera).

U prvoj fazi sam samo prepravljao javaskriptove i pisao nove. Sa tim sam se izborio i sajt sada radi otprilike to sto treba, otprilike tako kako treba. HTML i javascript sam zadovoljavajuce obnovio. CSS polako ucim. Kasnije su na redu Bootstrap i Django...

Tako cu ici kad budem imao dovoljno vremena. Ali prvo moram da resim neke hitne stvari. (Dopisacu kasnije o cemu se radi)
Ovde ce stosta jos biti dopisano, zuri mi se da postavim pitanja
 
Dakle, prvi korak je da naucim Django. A prvi potkorak je da ga instaliram. (Win7 Ultimate, Service Pack 1)

Naravno, treba mi Python. Pored toga, koliko sam shvatio, trebaju mi jos i editor (npr. VS Code), GIT i pip environment.
I kazu da Python i Django treba da budu instalirani u isti direktorijum, sto mi nije bas najjasnije. (Razloge razumem, ali nemam bas najjasniju predstavu kako sve to treba da izgleda...)

Ovde nastupa glavni problem. Pre nego sto sam uopste otvorio ZIP sa projektom, ja sam (po preporuci) vec bio instalirao paket Anaconda 3 (za koji takodje nikada ranije nisam cuo). U Anakondi imam i Python 3.7.4, i VS Code i GIT (pip pretpostavljam da nemam).

Sad bih ja VEOMA voleo da Anakondu ostavim takvu kakva je, a da Django instaliram na desetom mestu, i da mi Django lepo radi.
Prvi korak sam vec napravio. U direktorijumu 'django' otkucao sam 'path c:\Users\Che\Anaconda3'. Nakon toga sam otkucao 'python --version' i dobio odgovor 'Python 3.7.4'. To je ohrabrujuce, ali naravno nije garancija da ce mi bas sve raditi. Zato bih voleo da cujem misljenja i iskustva, pre nego sto pocnem da instaliram...

Konkretni problemi:
- Anaconda3 nije jedini direktorijum; postoje .anaconda, .conda i mozda jos neki koji nisam prepoznao kao Anakondin. Anaconda3 je jedini u patu; to bi trebalo da je dovoljno (ako kreatori paketa imaju imalo smisla), ali mozda i nije...
- Da li cu ja moci da koristim VS Code i GIT koji su mi instalirani u Anakondi???
- Ako to "ne mere", hoce li mi Windows dozvoliti da instaliram jos po jednu kopiju uz Django paket?

Ovo sve pisem sa nadom da je slicne stvari dovoljan broj juzera vec probao i da se neke stvari dosad znaju. Pomagajte!
 
Uradis sebi virtuelno okruzenje i instaliras pakete koje zelis tj. instaliras django. U anacondi mozes koristi i pip, nemam puno iskustva kako to radi ali moze. Prilokom svakog pokretanja aktiviras dato(mozes imati milion) virtuelno okruzenje koristeci komandu: conda activate env_name.
Sva dostupna virtualna okruzenja mozes pogledati koristeci komandu: conda env list.
Tu imas jos bolje objasnjenje.

Pogledaj kako je to kod mene:
Kod:
(base) PS C:\Users\p6095> conda env list
# conda environments:
#
base                  *  C:\Users\p6095\AppData\Local\Continuum\anaconda3
pynio                    C:\Users\p6095\AppData\Local\Continuum\anaconda3\envs\pynio
rtutor                   C:\Users\p6095\AppData\Local\Continuum\anaconda3\envs\rtutor
test1                    C:\Users\p6095\AppData\Local\Continuum\anaconda3\envs\test1
tsf                      C:\Users\p6095\AppData\Local\Continuum\anaconda3\envs\tsf

(base) PS C:\Users\p6095>

U tom (base) imam osnovne pakete, spyder4, visual code....
Kada aktiviram (tsf) tamo mi je spyder3, visual code......

Ja koristim Anaconda PowerShellPromt, koji dolazi default prilikom instalacije(ne moras se njakati sa pathovima). Inace, Visual code automacki prepoznaje sva dostupna virtuelna okrezanja, prilikom programiranj izaberes koje ti odgovara===> PERFEKCIJA!!!!


Znaci tvoj postupak za install:

1.anaconda
2.virtual okruzenje add
3.aktiviranje virtual okruzenja
4.install i pokretanje djanga u aktiviranom okruzenju
 
Poslednja izmena:
Hvala na brzom odgovoru. Procitao sam prva dva clanka koje si prilozio, ali ovaj treci je gadan. Dubok, obiman i ima linkove na clanke koji su takodje duboki i obimni. I imaju linkove na druge clanke koji su takodje bla, bla, bla...
Vrti mi se u glavi!

Moje prvo pitanje se odnosi na django, ali verujem da ti mozes da mi odgovoris prosto po analogiji sa tim tvojim paketima.
Onaj Indus sugerise komandu: conda install -c anaconda django (U tvom slucaju je nesto drugo, ali princip je isti)
Kako conda zna gde se ta instalacija nalazi? Ili ona zna relevantne maticne sajtove, pa ide na web da skine instalaciju?


Imam jos jedno pitanje koje takodje postavljam konkretno, a ustvari me zanima principijelno...
U tom (base) imam osnovne pakete, spyder4, visual code....
Kada aktiviram (tsf) tamo mi je spyder3, visual code......
Ti si instalirao spyder3 u (tsf) zato sto nisi hteo spyder4. A da si hteo spyder4, da li bi morao da ga instaliras u (tsf), ili bi mogao da koristis ovaj sto ti je vec instaliran u (base)?
 
Ja bih predložio jedno staromodno, ali oprobano rešenje. Nisam koristio anacondu, ne znam šta donosi, zašto je bolja i ne tvrdim da je rešenje koje imam bolje ili lošije. Meni lično se čini prostijim pa eto... :)

Umesto anaconde koristi virtualenv. Svrha im je ista, kreiranje virtuelnih Python okruženja. Razlika u odnosu na anacondu je što virtualenv koristiš ovako:

Kod:
# u nekom folderu gde će ti se nalaziti projekat
virtualenv neko_ime

Gde će "neko_ime" biti folder koji će da služi kao virtuelno okruženje. Možeš ga aktivirati kao \neko_ime\Scripts\activate . Nakon toga instaliraš pakete koji ti trebaju koristeći pip; recimo pip install django.

Koristeći virtualenv i pip dobijaš isti rezultat kao sa anacondom, uz manje "nepoznatih" i manje pitanja "gde se šta nalazi?" pošto se sve nalazi u istom folderu gde ti je i projekat. Virtuelno okruženje naravno staviš u .gitignore :)

Nadam se da ne zbunjujem mnogo pominjući potpuno drugačije rešenje.
 
Nadam se da ne zbunjujem mnogo pominjući potpuno drugačije rešenje.
Pa meni je to manje-vise isto, posto Anakondu vec imam instaliranu. I tebi isto pitanje:
pip install django
Kako pip zna gde je meni instalacija djanga?

Kad tu fundamentalnu stvar budem shvatio, bice mi jasniji pogled i na sve ostalo...
 
pip, a verovatno i anaconda, će da uradi pretragu na https://pypi.org/, onda će da skine paket i instalira ga. Probaj, biće ti jasno čim prvi put vidiš kako radi.
 
Moje prvo pitanje se odnosi na django, ali verujem da ti mozes da mi odgovoris prosto po analogiji sa tim tvojim paketima.
Onaj Indus sugerise komandu: conda install -c anaconda django (U tvom slucaju je nesto drugo, ali princip je isti)
Kako conda zna gde se ta instalacija nalazi? Ili ona zna relevantne maticne sajtove, pa ide na web da skine instalaciju?


Ti si instalirao spyder3 u (tsf) zato sto nisi hteo spyder4. A da si hteo spyder4, da li bi morao da ga instaliras u (tsf), ili bi mogao da koristis ovaj sto ti je vec instaliran u (base)?
1.ja uvek pogledam na njihovom sajtu https://anaconda.org/anaconda/django
2.conda zna sve :), pakete skida iz njihovog repozotirija
3.gde se nalazi instalirano virtualno okruzenje kucaj komandu conda info --envs
4.eto hteo sam, igram se sa dve verzije programa :). Tako mozes i sa paketima, u jednom imas numpy 0.19, a drugom instaliras numpy 0.22......
 
Poslednja izmena:
Baš me zanima kako bi izgledao ozbiljan web site koji bi napisao u Pythonu od nule, a da ne koristiš neki od gotovih frameworka...

Django je web framework napisan u Pythonu, MVC framework (model - view - controler), s tim što Django ima malo drugačiju filozofiju, pa je on MVT (model - view - template). Ukratko i krajnje pojednostavljeno, definišeš mapiranje URL-ova i view-ova (npr. korisnik ukuca u browser www.example/home i ide na home view, ako ukuca www.example/about ide na about view), tj. view preuzima request i vraća response, pri čemu koristi podatke definisane u modelima i template za prikaz (model - baza, template - HTML)

Kao što Django koristiš za backend, tako koristiš i Bootstrap kao frontend framework. Opet, krajnje pojednostavljeno, da ne bi morao od nule da pišeš CSS za sajt, koristiš gotove komponente iz Bootstrap frameworka.

Po meni, Windows baš i nije prirodno okruženje za Python, ali svakako može da se koristi. Ne znam zašto si izabrao Anacondu, mogao si da instaliraš Python sa zvaničnog sajta (python.org).

Da bi podesio radno okruženje za rad sa Djangom, dovoljno ti je par minuta:
- instalacija Pythona (vidi uputstvo na python.org)

- odeš u direktorijum gde hoćeš da bude tvoj projekat i kreiraš virtuelno okruženje (npr. python -m venv django_test)*
* ovaj korak nije obavezan, ali je neophodan ako nećeš da "čačkaš" sistemski Python, a i zbog toga što možeš da eksperimentišeš sa različitim verzijama djanga za različite projekte (virtuelno okruženje ti omogućava da izoluješ Python okruženje od ostalih okruženja)

- aktiviraš okruženje (nađi uputstvo za Windows, na Linuxu to radim sa npr. source django_test/bin/activate)*
* dobri editori kao što su PyCharm, VSCode imaju podršku za aktiviranje virtuelnih okruženja automatski, ovo je kad radiš iz command line-a)

- instaliraš django u virtualnom okruženju - django je sa stanovištva pythona običan python package , kao i svaki drugi i tako se instalira:
pip install django*
* pip nije nikakav environment kao što si napisao, pip je package installer za python

- django-admin startproject tvojsajt i pokrenuo si novi django projekat sa imenom tvojsajt...

Kad kreneš sa učenjem djanga, doćićeš i do dela gde ćeš naučiti kako da koristiš CSS sa djangom, pa tako i da dodaš bootstrap...

git nema nikakve direktne veze sa djangom, niti bilo čim što si nabrojao, to je version-control system (verovatno najpoznatiji danas, skoro da je postao standard) i svakako je dobro da ga koristiš.
 
Poslednja izmena:
pip, a verovatno i anaconda, će da uradi pretragu na https://pypi.org/, onda će da skine paket i instalira ga. Probaj, biće ti jasno čim prvi put vidiš kako radi.
Toga sam se plasio. Nadao sam se da django ima svoj instaler. Ili barem - da ja skinem instalaciju verzije koju odaberem, stavim je na direktorijum koji odaberem, i kazem kondi, pipu i bogu ocu - instalirajte to i to odatle i odatle...
Koliki je uopste django? (Net mi bas i nije najbolji)

Ovde kazu da je opasno koristiti get-pip.py, a ne nude alternativu...


4.eto hteo sam, igram se sa dve verzije programa :). Tako mozes i sa paketima, u jednom imas numpy 0.19, a drugom instaliras numpy 0.22......
To je lepo :), radicu i sam nesto slicno; ali nisi razumeo moje pitanje. AKO bi hteo da koristis spyder4 u (tsf), da li bi nekako mogao da koristis onu verziju koja ti je vec instalirana u (base), ili bi morao jos jednu kopiju da instaliras u (tsf)?

Naravno, nisu mi bitni konkretno tsf i spyder, pokusavam da shvatim neke generalne principe...

Inace treba da sacekam period manjeg saobracaja, a i da odlucim hocu li prvo probati virtualenv, ili cu direktno da zgazim anakondin rep :smoke:
(Ako iznenada prestanem da se javljam, znaci da me anakonda progutala... :D)
 
Napisao sam gore da je django samo jedan od python package-a, kao i svaki drugi i instalira se na isti način, npr. sa pip

Ako hoćeš da biraš verziu djanga, to kažeš pip-u: pip install django=='verzija' ( npr. pip install django=='2.1')
 
chronograph:
Tvoj post se pojavio dok sam pisao ovaj iznad, prostudiracu ga. Sad samo imam kratko pitanje - sta ti mislis o ovome:

Matori je napisao(la):
Ovde kazu da je opasno koristiti get-pip.py, a ne nude alternativu...
 
Toga sam se plasio. Nadao sam se da django ima svoj instaler. Ili barem - da ja skinem instalaciju verzije koju odaberem, stavim je na direktorijum koji odaberem, i kazem kondi, pipu i bogu ocu - instalirajte to i to odatle i odatle...
Koliki je uopste django? (Net mi bas i nije najbolji)

Ovde kazu da je opasno koristiti get-pip.py, a ne nude alternativu...

Iako nije najsjajnije rešenje, možeš da skineš "wheel" koji je 7.5MB i instaliraš ga lokalno sa pip install ime_fajla.whl. To isto će uraditi i pip kad mu kažeš pip install django.

@chronograph
U pravu si, hvala :) toliko dugo koristim virtualenv da sam i zaboravio da je venv modul dostupan od 3.6.

@Matori
Chronograph me je lepo ispravio: nešto vrlo slično virtualenv-u koji sam predložio već dolazi uz Python 3.6 i novijim. Ako imaš neku od novijih verzija, dovoljno je da uradiš python -m venv neko_ime kako bi dobio virtuelno okruženje.
 
Poslednja izmena:
Sve vreme sam mislio da ja treba da instaliram pip, a sad tek vidim da ja treba da imam instaliranog. Zaboravite pitanje u vezi sa get-pip.py. Prosto, instaliracu Djanga nocas (ako Bog da srece i zdravlja)...
 
Malo sam se igrao, pa da referisem:

Kod mene je ispala nekakva hibridna varijanta. Bilo je pitanje - da li conda environment u Anakondi, ili nezavisan environment negde napolju. Ja sam instalirao pipenv u Anakondi, pa sam onda njime napravio nezavisan virtual environment. Uradio sam to na brzinu i traljavo; gotovo je izvesno da cu to sve demontirati i napraviti ponovo. Ali sad cu jos malo da se igram...

- u svom django direktorijumu (o kojem sam vec pisao) aktivirao sam Python i probao da instaliram pipenv; nije islo, programi pip i pip3 prosto su mu nepoznati (VRLO los znak)
- onda sam u Anakondi instalirao pipenv (u Anakondinoj Power konzoli), ali nisam obratio paznju gde mi je prompt, pa nisam instalirao pipenv u Anaconda3 nego u njegov naddirektorijum Che (to znaci da unosenje direktorijuma Anaconda3 u path, ne pomaze sto se tice pipenva)
- nesvestan svoje greske, u Win konzoli sam pokusao pipenv install django, ali naravno nije uspelo
- medjutim, iz Power konzole je uspelo. Sad mogu da nastavim da radim normalno, dok mi se prvi put ne desi da nesto nece. Onda cu prosto da instaliram sve ispocetka...

(Anakondin) VS Code mi vidi taj direktorijum, a u njemu imam GIT, tako da te dve stvari zasad mogu da izostavim...
 
Instaliraj pycharm da se ne mucis. Py charm ima u sebi i virtualenv i sve.
 
Poslednja izmena:
@MatoriGde hostuješ django site?
Nemam pojma :d; u ranoj fazi sam se izborio za povlasticu da u prvo vreme nemam veze ni sa cim, osim sa pisanjem novog i menjanjem starog koda. Kad nesto napravim, ja posaljem gazdi na mejl...
Host je gazdin prijatelj koji ima malu domacu firmu, a zakupljuje server(e) kod neke strane firme. Mi imamo virtualni server na jednom fizickom serveru, koji se verovatno nalazi u Americi (video sam ime te strane firme, samo ga nisam zapamtio; delovalo mi je americki...). OS je Ubuntu 18.04.1, a web server nginx, ne znam koja verzija...

@Matori
https://tutorial.djangogirls.org/en/ - probaj da detaljno prođeš kroz ovaj tutorial. I mani se Anaconde...
Jos onomad sam resio da te poslusam i da instaliram vanilla python odvojeno od Anakonde. Ali mi i ne ide bas... Npr. kad mu spomenem 'django-admin' on ga ne prepoznaje...

Ali da idem redom:

Imao sam jos jednu hitnu stvar da uradim. Posto se hosting menjao, trebalo je da promenim adresu sa koje se salje verifikacioni mejl i eventualno smtp server. Nasao sam odgovarajucu sekciju u settings.py; tamo su sve pozivi nekih vrednosti iz baze (koju ja i nemam na svom racunaru). Umesto tih poziva, ja sam "rukom" uneo sve vrednosti koje treba da budu. (Ispisacu to, zbog buducih pocetnika, ali ne sad. Sad mi se zuri da resim neke osnovne stvari.)

Gazdi sam poslao precizne instrukcije 23. aprila uvece. Onda sam unilateralno uzeo nekoliko slobodnih dana. On mi se javio tek u proslu sredu i rekao da ne radi. Ne da slanje mejla ne radi, nego NISTA ne radi; kao da imam sintaksnu gresku koja blokira sve. Ja sam prilicno siguran da NEMAM gresku - ni sintaksnu, ni semanticku. Najverovatnije, osim u settings.py, jos negde mora nesto da se promeni...
Ali gazda mi je rekao "pusti to sad" i dao mi je nesto drugo da radim. A onda mi je crklo napajanje (u sred vanrednog stanja!)...

Evo tek danas sam proradio normalno i krenuo u instalaciju...

Dakle, od 23. aprila do danas, bavio sam se drugim stvarima.

- Veceras sam posebno instalirao python, ali sam odbio da mu dozvolim da se sam stavi u PATH (IZRAZITO preferiram da to svaki put ja uradim). U okviru Pitona, dobio sam i pip.

- Medjutim, kad sam rekao 'pip3 install pipenv', nije mi prepoznao komandu

Pitanje za Vegetu i sve ostale:
Da li onaj Power Shell koji postoji u sastavu Anakonde moze da se instalira i posebno?

- Morao sam da stavim u PATH i direktorijum 'Scripts', u kojem mi se pipovi nalaze

Pitanje za Hronografa i sve ostale:
Da li je neko pustio python da se sam upise u PATH? (Zeleo bih da znam koji su sve poddirektorijumi upisani)

- Onda sam instalirao pipenv, a potom i djanga. Medjutim, kad kazem 'pipenv shell' dobijem:

Launching subshell in virtual environment.
'cmd.exe' is not recognized bla, bla, bla...


- Ja se napravim blesav i otkucam 'django-admin startproject test_project .' (iako vidim da nisam u VE), ali naravno dobijem:

'django-admin' is not recognized bla, bla, bla...

- Onda sam otvorio novi direktorijum i sve to ponovo probao sa 'pip' umesto 'pip3' (mada su fajlovi pip i pip3 identicni po duzini). Postigao sam neki napredak; subshell i dalje ne moze da se aktivira, ali sam uspeo da otvorim novi projekt - komanda 'django-admin startproject test_project .' ovaj put je radila

- Cak sam uspeo i da startujem django server, mada ne bas propisno. python.exe se ne vidi (kako, kad je u patu???), pa sam ga startovao preko 'pipenv run python manage.py runserver'. Medjutim, dobio sam: 'You have 17 unapplied migrations bla, bla, bla ...'

- To sam, izgleda, uspesno resio komandom 'migrate', ali mi je sad glava kao kosnica...

Posto sam generalno prepecen, i kao programer i kao juzer, ja bih mozda i mogao da radim ovako... Ali MNOGO frustrira i zamara. Hteo bih da se fokusiram na ono sto radim, a ne da se non stop bavim okruzenjem u kojem radim...

Hteo sam nesto konkretno da pitam Hronografa, ali sam toliko umoran da se vise ne secam. Nadam se da cu dobiti jos neki koristan savet, osim "Mani se Windowsa i instaliraj Linux"...
 
Pogledaj tutorial, imas nekih 12 delova. On radi pod Windowsom. Sto se tice Anaconda Power Shell mislim da ne moze posebno, on je sastavni deo Anaconde.
 
Poslednja izmena:
Isključivo koristim Python na Linuxu, tako da sve što se tiče Windowsa i Pythona nije pitanje za mene... :)

Šta je pipenv? To nije standardni python package i mora da se instalira posebno, a zamišljen je da objedini package manager i virtualno okruženje (nešto kao pip + venv) kako bi mogao bez problema da rekonstruišeš kompletno razvojno okruženje. On ti nije neophodan, možeš da koristiš venv za virtualna okruženja.

Ako django instaliraš u virtuelnom okruženju, što je dobro, onda on ne postoji za sistemski python, pa i ne možeš da ga koristiš dok ne aktiviraš okruženje u kom je instaliran.

Što se tiče poruke "You have 17 unapplied migrations...", to je OK. Logika djanga je da postoji jedan projekat koji se sastoji od više aplikacija, npr. tvoj kompletan sajt je jedan projekat, a posebne aplikacije su npr. forum, anketa, vesti. S obzirom da je moto djanga "Batteries Included", gomilu stvari već imaš gotovo, pa tako u svakom projektu se po defaultu dodaju neke od aplikacija. Pogledaj settings fajl i INSTALLED_APPS za novi projekat (admin, auth, ...).

Šta su "migracije"? S obzirom da ti je za svaki sajt potrebna baza, django omogućava da radiš sa modelima, python klasama koji opisuju objekte u bazi (pojednostavljeno python model = tabela u bazi). Za svaku promenu modela u djangu koriste se migracije kako bi se promene prenele u bazu podataka. Default baza je sqlite i kad prvi put primeniš migrate, upišu se sve neophodne tabele u novu bazu, tj, fajl kad je u pitanju sqlite. Zato ti kaže da na početku imaš neke promene koje nisu upisane u bazu...

Ne znam što te brine upis u PATH? Kad instaliraš python jednom, završio si sa tim. Idi u direktorijum koji god želiš, formiraj virtuelno okruženje, instaliraj django i radi šta god želiš, ne zanima te gde je instaliran python... Posao od ukupno 2 minuta...

- python -m venv matori
- matori\Scripts\activate (valjda je ovako na Windowsu :))
- pip install django

Još jednom savet da detaljno prođeš https://tutorial.djangogirls.org/en/, imaš verzije za sve operativne sisteme, pa i za Windows
 
Šta je pipenv? To nije standardni python package i mora da se instalira posebno, a zamišljen je da objedini package manager i virtualno okruženje (nešto kao pip + venv) kako bi mogao bez problema da rekonstruišeš kompletno razvojno okruženje. On ti nije neophodan, možeš da koristiš venv za virtualna okruženja.
Moram priznati da me to crveno zbunjuje. Ali, imam bar cetiri razloga da (pokusam da) koristim pipenv:

a) Deluje kao da venv ide u penziju, a da ga pipenv menja. Autor knjige iz 2018. kaze da je pipenv zvanicno preporuceni "Python packaging tool". Ja naravno u ovoj fazi nemam pojma sta to zapravo znaci, ali logicno je da se opredelim za pipenv...

b) Ti si preporucio pipenv, iako jos uvek koristis venv. Razumna je prognoza da cemo u relativno bliskoj buducnosti svi koristiti pipenv. Posto ja startujem od nule, logicno je da hocu direktno da krenem sa onim na sta se ocekuje da uskoro predjem...

c) U spomenutom projektu koji sam nasledio, koriscen je pipenv. Logicno da cu drasticno pojednostaviti sve, ako ga i ja koristim...

d) Spomenuti autor u svojoj knjizi provlaci pipenv. Ako ga ja "pripitomim", mogu bez mnogo razmisljanja da idem po knjizi...

Nijedan od ova cetiri razloga nije epohalan, ali ipak ih ima cetiri... Protivrazlog su problemi koje imam, ali ko kaze da ne bih imao problema i da sam se opredelio za venv? (Vidi trecu sekciju)


Još jednom savet da detaljno prođeš https://tutorial.djangogirls.org/en/, imaš verzije za sve operativne sisteme, pa i za Windows
Proci cu ga svakako. Ali on objasnjava kako se radi sa 'venv', a ja jos nisam odustao od 'pipenv'. Tako da prvu fazu (zasad) preskacem...


Ne znam što te brine upis u PATH? Kad instaliraš python jednom, završio si sa tim. Idi u direktorijum koji god želiš, formiraj virtuelno okruženje, instaliraj django i radi šta god želiš, ne zanima te gde je instaliran python... Posao od ukupno 2 minuta...
To crveno me brine ,). Ja sam vec instalirao 5 do 7 djanga, bez ikakvih posledica. Isto tako bih hteo da mogu da drzim 2-3 Pitona na disku i da, kad sednem da radim u nekom Pitonu, pokrenem svoj batch fajl koji taj Piton stavlja u PATH, za jednu seansu.
Deluje kao da sam svojeglava picajzla koja insistira na nekim sitnicama. Kad je racunar u pitanju, zaista jesam control freak. Ali ovaj put sam prihvatio da sagnem glavu i pustio sam python 3.7.7 da se sam stavi u PATH (prosli, koji sam deinstalirao iako verovatno nisam morao, bio je 3.7.4).
Kad sam dovrsio instalaciju, otisao sam da vidim sta je uneo u PATH. Ona ista dva direktorijuma koje sam ja "rukom" upisivao :D. Znaci, ustupak je bio nepotreban, ali dobro, bar da budem miran...

No ne lezi vraze! Na desetom direktorijumu sam pokusao da instaliram djanga, ali nije uspelo. (Screenshot u attachmentu)
Kaze da je puk'o na liniji 69 u 'resolver.py'. Nasao sam odgovarajucu sekciju; prvi red koji sam zacrveneo je linija 60, drugi linija 69. On se zali na 69, ali problem je ocito u 60.

Kod:
def resolve(packages, pre, project, sources, clear, system, [B][COLOR="#FF0000"]requirements_dir=None[/COLOR][/B]):
        return resolve_deps(
            packages,
            which,
            project=project,
            pre=pre,
            sources=sources,
            clear=clear,
            allow_global=system,
            [B][COLOR="#FF0000"]req_dir=requirements_dir[/COLOR][/B]
        )
Ja verovatno mogu "rukom" da unesem sta treba. Sada cu probati da instaliram djanga u nekom poddirektorijumu Pitona, i to ce verovatno uspeti. Onda cu da vidim sta mi stoji u 'resolver.py'.
Ali sad mi se zuri da posaljem ovaj post...
 

Prilozi

  • resolver.jpg
    resolver.jpg
    303.2 KB · Pregleda: 47
Prethodni post je vec preveliki - pa umesto da dopisujem, pisem novi...

Uspesno sam instalirao djanga u direktorijum 'django' koji je poddirektorijum direktorijuma python377. Otvorio sam 'resolver.py' i nije se promenio. Znaci, ako ti je django "tamo gde treba" - requirements_dir je 'None'.
chronograph, ti sigurno imas bar dva nezavisna projekta ciji direktorijumi nisu poddirektorijumi Pitonovog direktorijuma. Mozes li mi reci GDE python drzi imena tih direktorijuma?
 
Znači zakomplikovao si ga bez potrebe, alal ti vera. Virtualenv je jedan tako prost koncept da mi prosto nije jasno kako već dve strane pričamo o tome :)
 
Znači zakomplikovao si ga bez potrebe, alal ti vera. Virtualenv je jedan tako prost koncept da mi prosto nije jasno kako već dve strane pričamo o tome :)
Ja pricam o tome sta mi NE RADI. Koncept je prost i kaze da ja, posto instaliram python i pustim ga da se sam upise u PATH, mogu da otvorim projekt bilo gde i da normalno radim. U mom windowsu (a windows je izgleda glavni problem), to ne radi. Da bi mi najosnovnije komande radile onako kako to pise u knjigama i turorijalima, MORAO sam da instaliram djanga u drvo svog osnovnog python direktorijuma.
Da bih saznao da to sto treba da radi zapravo ne radi, morao sam da probam i pretrpim neuspeh. Izvinjavam se u ime svog windowsa sto je zakomplikovao, i u svoje ime sto sam bio dovoljno prostodusan da na forumu pisem o tome sta mi se dogadja.

Posto sam vas sve, izgleda, smorio svojim zahtevima arbitrarne opravdanosti, evo jedno sasvim decije pitanje, koje valjda nije komplikovano:

Instalirao sam VS Code (ili bolje receno, on se sam instalirao, ja sam samo pokrenuo instalaciju). Nije me nista pitao, nego je instalirao noviju (ili mozda cak istu!) verziju preko onog VS Code koji sam vec imao u sastavu Anakonde. Toliko o zeljenoj nezavisnosti...
Kaze - "python nije instaliran". Ja odem na 'Select Interpreter', on mi da da biram izmedju originalnog python.exe i kopije koju imam u projektu. "Aj' necu da se blamiram na forumu da pitam za takvu glupost, dacu mu bilo koji...". Izabrao sam ovaj iz projekta, posto mi je bio blize kursoru. Onda mi nudi da instaliram 'linter pylint', sta god to bilo.
Da li treba da instaliram taj linter pylint, i ako treba, da li da mi bude aktivan originalni python.exe ili kopija koju imam u projektu?
 
Linteri cekiraju tvoj kod i prikazuju ako ima gresaka ili pokazuju alternativni nacin da napises isto (obicno krace) ako me razumes.

Linting highlights syntactical and stylistic problems in your Python source code, which oftentimes helps you identify and correct subtle programming errors or unconventional coding practices that can lead to errors.
 
Poslednja izmena:
Ja pricam o tome sta mi NE RADI. Koncept je prost i kaze da ja, posto instaliram python i pustim ga da se sam upise u PATH, mogu da otvorim projekt bilo gde i da normalno radim.

Instaliraš Python i na neki način ga dodaš u PATH; automatski, ručno, nije ni bitno.
Otvoriš terminal, upišeš "python -m venv moj_virtualenv"
Aktiviraš ga sa "moj_virtualenv\Scripts\activate"
Instaliraš Django sa "pip install django"
Počneš da kodiraš.

To radi. Nema komplikacija, nema muka, nema drveta osnovnih direktorijuma i ko zna čega. U krajnjem slučaju, Docker.

Da ne misliš da sam seronja, voljan sam da ti pomognem kroz TeamViewer da ga instaliramo, podesimo i da možeš da radiš.
 
Poslednja izmena:
Ne mogu da editujem, izvinjavam se.

Skini PyCharm Community, potpuno je besplatan, i u njemu dobiješ

Screenshot_20200508_222020.png
 
Moram priznati da me to crveno zbunjuje. Ali, imam bar cetiri razloga da (pokusam da) koristim pipenv:

a) Deluje kao da venv ide u penziju, a da ga pipenv menja. Autor knjige iz 2018. kaze da je pipenv zvanicno preporuceni "Python packaging tool". Ja naravno u ovoj fazi nemam pojma sta to zapravo znaci, ali logicno je da se opredelim za pipenv...

b) Ti si preporucio pipenv, iako jos uvek koristis venv. Razumna je prognoza da cemo u relativno bliskoj buducnosti svi koristiti pipenv. Posto ja startujem od nule, logicno je da hocu direktno da krenem sa onim na sta se ocekuje da uskoro predjem...

c) U spomenutom projektu koji sam nasledio, koriscen je pipenv. Logicno da cu drasticno pojednostaviti sve, ako ga i ja koristim...

d) Spomenuti autor u svojoj knjizi provlaci pipenv. Ako ga ja "pripitomim", mogu bez mnogo razmisljanja da idem po knjizi...

Nijedan od ova cetiri razloga nije epohalan, ali ipak ih ima cetiri... Protivrazlog su problemi koje imam, ali ko kaze da ne bih imao problema i da sam se opredelio za venv? (Vidi trecu sekciju)



Proci cu ga svakako. Ali on objasnjava kako se radi sa 'venv', a ja jos nisam odustao od 'pipenv'. Tako da prvu fazu (zasad) preskacem...



To crveno me brine ,). Ja sam vec instalirao 5 do 7 djanga, bez ikakvih posledica. Isto tako bih hteo da mogu da drzim 2-3 Pitona na disku i da, kad sednem da radim u nekom Pitonu, pokrenem svoj batch fajl koji taj Piton stavlja u PATH, za jednu seansu.
Deluje kao da sam svojeglava picajzla koja insistira na nekim sitnicama. Kad je racunar u pitanju, zaista jesam control freak. Ali ovaj put sam prihvatio da sagnem glavu i pustio sam python 3.7.7 da se sam stavi u PATH (prosli, koji sam deinstalirao iako verovatno nisam morao, bio je 3.7.4).
Kad sam dovrsio instalaciju, otisao sam da vidim sta je uneo u PATH. Ona ista dva direktorijuma koje sam ja "rukom" upisivao :D. Znaci, ustupak je bio nepotreban, ali dobro, bar da budem miran...

No ne lezi vraze! Na desetom direktorijumu sam pokusao da instaliram djanga, ali nije uspelo. (Screenshot u attachmentu)
Kaze da je puk'o na liniji 69 u 'resolver.py'. Nasao sam odgovarajucu sekciju; prvi red koji sam zacrveneo je linija 60, drugi linija 69. On se zali na 69, ali problem je ocito u 60.

Kod:
def resolve(packages, pre, project, sources, clear, system, [B][COLOR="#FF0000"]requirements_dir=None[/COLOR][/B]):
        return resolve_deps(
            packages,
            which,
            project=project,
            pre=pre,
            sources=sources,
            clear=clear,
            allow_global=system,
            [B][COLOR="#FF0000"]req_dir=requirements_dir[/COLOR][/B]
        )
Ja verovatno mogu "rukom" da unesem sta treba. Sada cu probati da instaliram djanga u nekom poddirektorijumu Pitona, i to ce verovatno uspeti. Onda cu da vidim sta mi stoji u 'resolver.py'.
Ali sad mi se zuri da posaljem ovaj post...

Pisao sam ti da koristiš venv, rešenje koje ide uz Python. Samo sam pomenuo pipenv kao zanimljivo rešenje

venv ne ide u penziju i pipenv nije zvanično preporučen od Python Software Foundation, ma šta taj autor pisao. Da taj autor nije Will Vincent?

Što reče Neky, koncept je jednostavan i ne treba da se opterećuješ time. Možeš da pratiš knjigu bez obzira koje virtuelno okruženje se koristi.

Zašto instaliraš django u poddirektorijum gde je python instalian? Napravi svoj direktorijum u kojem hoćeš da radiš, venv (možeš i da biraš verziju pythona od instaliranih) i instaliraj šta hoćeš, ne čačkaj sistemski python (mada možeš i tu da instaliraš django, kao i svaki drugi python package).

Kako si instalirao django kad ti je pukla instalacija?
 
Nazad
Vrh Dno