Discussion:
Pyton path? (Win)
(prestaro za odgovor)
Chupo
2016-06-15 12:56:08 UTC
Permalink
Prilikom instaliranja Python-a 2.7.11 preko MSI installer-a s

https://www.python.org/downloads/release/python-2711/

postoji opcija 'Add python.exe to PATH' ali nakon instaliranja se u
PATH nije automatski dodalo nista (niti za user path, niti za system
path). Gledam na:

http://www.howtogeek.com/197947/how-to-install-python-on-windows/

i tu je na dnu uputstvo za rucno dodavanje path-a u environment
variablu a u textu pise da se ne treba dodavati rucno ako se instalira
Python 3.4.1 - ako ta opcija ne radi u installer-u za 2.7.x, zasto onda
ona postoji?

Moze netko potvrditi da opcija za automatski update path variable ne
radi prilikom instaliranja verzije 2.7.1?

Druga stvar koja mi nije jasna je da u ovom textu pise da se u
environment variablama moze kreirati systemska variabla s *nekim*
imenom, recimo s imenom 'Pytonpath', pa se njoj dodijeliti path do
Python .exe-a i skripti - kako bi to moglo raditi bez da se onda
naknadno u PATH ne doda jos i %Pythonpath%??
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo
Chupo
2016-06-15 16:14:44 UTC
Permalink
Dodatno, Python 2.7.1 MSI installer mi je unistio PATH environment
variablu koja je bila pod System variables. Nakon restarta mi je
Windows Security Center poceo javljati da nemam instaliran antivirus,
najprije nisam primijetio da vise nema PATH variable a problem je
nestao nakon restartanja Sevurity Center service-a - medjutim nakon
sljedeceg restarta se je opet pojavilo upozorenje pa sam na kraju
otkrio da vise nema PATH variable u kojoj je bilo:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;

Zadnji unos je vjerojatno bio odgovoran za nemogucnost detektiranja
instaliranog antivirusa.

Inace je zanimljivo da kada pod System variables uopce nema path
variable, onda se pogresno parsira PATH naveden pod User variables.

Primjer:

Ako je u PATH pod user variables recimo:

d:\Program Files\IDM Computer Solutions\UltraEdit\;

a npr. postoji dodatna variabla ZCCCFG koja ima vrijednost:

d:\Program Files\z88dk\lib\config\
(tako da Z88dk crosscompiler zna gdje su config file-ovi)

onda *ako ne postoji PATH pod System variables*

echo %path%

rezultira sa:

d:\Program Files\z88dk\lib\config\D:\Program Files\IDM Computer
Solutions\UltraEdit\;

Ne samo da se path naveden u opcijama append-a na vrijednost variable
koja nema veze s PATH variablom nego i izmedju nema tocke-zarez pa se
onda 'unisti' i ispravni path koji slijedi.

Kada pak u System variables postoji PATH variabla:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;

onda

echo %path%

rezultira s ispravnim:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;d:
\Program Files\IDM Computer Solutions\UltraEdit\;
(s tim da su vrijednosti variabli expandirane)
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo
Cose
2016-06-15 17:32:04 UTC
Permalink
Post by Chupo
Moze netko potvrditi da opcija za automatski update path variable ne
radi prilikom instaliranja verzije 2.7.1?
Instaliras Linux pod VM pa u njemu sve radi. ;)
--
Kresimir Kos

"When people are fanatically dedicated to political or religious faiths
or any other kinds of dogmas or goals, it's always because these dogmas
or goals are in doubt." (Zen and the Art of Motorcycle Maintenance)
Chupo
2016-06-15 18:55:11 UTC
Permalink
Post by Cose
Instaliras Linux pod VM pa u njemu sve radi. ;)
Nije to losa ideja. Na Linuxu uvijek sve radi :-) Inace imam vec od
ranije na Win instaliran Python 2.6.2 i 3.2.2 (koji se je instalirao u
sklopu VPython-a 5.74) i to je radi OK. Zadnje vrijeme sam i stvarno za
Python vecinom koristio Linux i to na Raspberry Pi-u na kojega se
spajam preko SSH ali sam sad htio isprobavati OpenCV tako da to ne bi
mogo raditi preko terminala pa sam najprije iso instalirati zadnju
verziju prije trojke.

Dok isprobam kako to radi cu probati i da li ce biti moguce isto s
Raspberry-jem ali cu se onda morati spajati preko VNC-a a onda cu
probati pokrenuti X server na Windowsima pa na Raspberry-ju sloziti
tunneling tako da ne mora on renderirati GUI i onda usporediti razliku
u brzini izvodjenja. Ali za sad sam tek htio vidjeti sta i da li uopce
ista mogu postici koristenjem OpenCV-a. Na RPi bi samo compile-iranje
library-ja trajalo cijeli dan.
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo
Chupo
2016-06-18 03:08:21 UTC
Permalink
Post by Cose
Instaliras Linux pod VM pa u njemu sve radi. ;)
Ovo kad je instalacija unistila path je inace bilo na Windows XP :-)

U medjuvremenu sam probao isti file instalirati u Win 7 virtualnu
masinu (Virtualbox) instaliranu na Win 7 i tamo je nakon istaliranja
path variabla bila OK.
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo
Bruno Babic
2016-06-20 06:40:51 UTC
Permalink
Post by Chupo
U medjuvremenu sam probao isti file instalirati u Win 7 virtualnu
masinu (Virtualbox) instaliranu na Win 7 i tamo je nakon istaliranja
path variabla bila OK.
Vrlo vjerojatno si imao u pathu nekakvu zanimljivu kombinaciju znakova
koja im je poremetila logiku. Nebi me iznenadilo da je installer pokusao
biti "pametan" umjesto da samo doda svoj path na kraj evniroment varijable.
--
bbabic(a)globalnet.hr
2b||!2b?
Chupo
2016-06-20 13:29:00 UTC
Permalink
Post by Bruno Babic
Vrlo vjerojatno si imao u pathu nekakvu zanimljivu kombinaciju znakova
koja im je poremetila logiku. Nebi me iznenadilo da je installer pokusao
biti "pametan" umjesto da samo doda svoj path na kraj evniroment varijable.
Sad vise ne mogu vidjeti kako je PATH izgledao prije instaliranja,
jedini nacin za to bi bio da napravim restore OS-a s image file-a ili
preko Syetem Restore pa pogledam ali samo zbog toga to necu raditi.

Moguce je to sta kazes jer svugdje pise da Python ne smije biti
instaliran u Program Files zbog razmaka u path-u ali installer bi morao
moci ispravno parsirati postojeci path.

Dugo vec imam instaliran Python 2.6.2 (od 2009.) i 3.2.2 ali sam ih
koristio samo povremeno i jezik nisam nikad proucio detaljno.

Sad kad sam vidio sta se sve u OpenCV moze postici sa samo par linija
koda i vidim koliko je drugih stvari napravljeno u Python-u (npr. Kodi
addons) sam odlucio jezik nauciti kako spada. nedavno sam procitao
Think Python od Allena Downey-a a u zadnja 2 dana sam procitao veci dio
tutoriala s python.org pa sad za vjezbu radim skriptu koja treba frendu
za neki plugin za skidanje knjiga s Google Books:

import os

ext = '.png' # ovdje treba upisati extenziju
broj_zn = 4 # ovdje treba upisati broj znamenaka u imenu
broj_stranica = 10 # ovdje treba upisati broj stranica knjige

files = filter(lambda x: x.endswith(ext), [str(ime).zfill(broj_zn+len
(ext)) for ime in os.listdir(os.getcwd())])
all = [''.join((str(ime).zfill(broj_zn), ext)) for ime in range(1,
broj_stranica+1)]
all = [ime for ime in all if ime not in files]

with open('missing.txt', 'w') as outfile:
outfile.write('Fali:\n----------\n')
outfile.write('\n'.join(out for out in sorted(all)))
outfile.write('\n\nPronadjeno:\n----------\n')
outfile.write('\n'.join(file for file in sorted(files)))

Koristi neki plugin pa mu treba textualni file s imenima svih stranica
knjige koje se jos nisu download-ale. Ovo bi neki Python guru
vjerojatno napisao puno elegantnije ali radi. Recimo ako se u folder-u
nalaze file-ovi:

2.png
04.png
5.png
0007.png

a broj_stranica je 10, onda ce rezultat biti:

0001.png
0003.png
0006.png
0008.png
0009.png
0010.png

Neznam kako taj plugin za knjige funkcionira ali kad se neke od
stranica knjige download-aju mu iz nekog razloga onda treba takav popis
svih stranica koje jos fale.

Dopada mi se kako se jako puno toga u Python-u moze napraviti s jako
malo linija koda. Treba se priviknuti na neke stvari tipa da je string
nepromjenljiv i na oznacavanje s samo uvlacenjem blokova ali stvarno
odlican jezik s strukturama s kojima se u 2-3 naredbe mogu napraviti
stvari za koje u drugim jezicima treba napisati par ekrana.
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo
Bruno Babic
2016-06-21 06:51:19 UTC
Permalink
Post by Chupo
Dopada mi se kako se jako puno toga u Python-u moze napraviti s jako
malo linija koda. Treba se priviknuti na neke stvari tipa da je string
nepromjenljiv i na oznacavanje s samo uvlacenjem blokova ali stvarno
odlican jezik s strukturama s kojima se u 2-3 naredbe mogu napraviti
stvari za koje u drugim jezicima treba napisati par ekrana.
Nebih znao, prestao sam citati cim sam vidio da koristis hrvatske nazive
za varijable ;)

Inace, svaki jezik ima svojih prednosti i nedostataka. Za mene je Python
vise za pisati takve nekakve male skriptice nego za napraviti nekakav
konkretan softver u njemu.
--
bbabic(a)globalnet.hr
2b||!2b?
Chupo
2016-06-21 10:00:52 UTC
Permalink
Post by Bruno Babic
Nebih znao, prestao sam citati cim sam vidio da koristis hrvatske nazive
za varijable ;)
Tako da u njih frend moze upisati odgovarajuce vrijednosti.

Mogo sam staviti komandnolinijeske parametre ali mu je ovako
jednostavnije - otvoriti file u editoru, izeditirati parametre i
stisnuti F5. A i ranije je koristio neku .bat skriptu koja nije
najbolje radila.
Post by Bruno Babic
Inace, svaki jezik ima svojih prednosti i nedostataka.
U svakom slucaju. Ovo je primjer skripte koju sam koristio za
izdvajanje titlova iz YT videa:

http://tinyurl.com/j36o3dv

koja je u Python-u napisana prilicno elegantno.

Ispod u mojem komentaru su izmjene koje treba napraviti da bi radila
ispravno.
Post by Bruno Babic
Za mene je Python
vise za pisati takve nekakve male skriptice nego za napraviti nekakav
konkretan softver u njemu.
Ovisi kakav je SW. Ovo je recimo odlican primjer gdje itekako dolazi u
obzir napraviti program u Python-u:

http://www.scorchworks.com/Fengrave/fengrave.html

Dosta g-code generatora (za CNC) je napisano u Python-u:

http://www.shapeoko.com/wiki/index.php/Interactive_G-Code_Generators

A zainteresirale su me ove stvari:

OpenCV
http://tinyurl.com/zcqpo8z

Scraping (tu gdje se spominje Selenium, PhantomJS i CasperJS) i Django:
http://tinyurl.com/h2orjcu

Zbog svega toga i cinjenice da se Kodi addons pisu u Python-u sam ga
odlucio nauciti kako spada.
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo
Chupo
2016-07-14 12:00:20 UTC
Permalink
Post by Bruno Babic
Nebih znao, prestao sam citati cim sam vidio da koristis hrvatske nazive
za varijable ;)
Sta bi se desilo da sam variablama dao imena 'a', 'b', ...? :-) Da li
bi onda ne-citao jer nisam koristio imena koja su deskriptivna ili bi u
tom slucaju ipak procitao iako bi ti za prouciti code trebalo vise
vremena nego da su imena na hrvatskom umjesto na engleskom?
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo
Bruno Babic
2016-07-15 12:18:44 UTC
Permalink
Post by Chupo
Sta bi se desilo da sam variablama dao imena 'a', 'b', ...? :-) Da li
bi onda ne-citao jer nisam koristio imena koja su deskriptivna ili bi u
tom slucaju ipak procitao iako bi ti za prouciti code trebalo vise
vremena nego da su imena na hrvatskom umjesto na engleskom?
Ma citao bih kao sto sam i ovako procitao (valjda si vidio onaj winkie
na kraju recenice).

Takve stvari me puno vise bodu u oci nego besmislena imena varijabli :)

Ali, samo za takve poput tebe nebi bilo lose napraviti neki
medju-prevoditelj koji bi omogucio da programski koristi hrvatske
kljucne rijeci umjesto engleskih.

Zamisli ovako nesto:

javna klasa Test
{
javna stalna nema main(String[] args)
{
ako (args.length > 0)
System.out.println("Argument: " + args[0]);
inace
System.out.println("Nema argumenata");

String argument = args[0];

odluci (argument)
{
slucaj "burek":
System.out.println("Sa sirom?");
prekid;
slucaj "banana":
System.out.println("Split?");
prekid;
uvijek:
System.out.println("Ne kuzim?!");
prekid;
}
}
}
--
bbabic(a)globalnet.hr
2b||!2b?
Chupo
2016-07-15 13:18:57 UTC
Permalink
Post by Bruno Babic
Ma citao bih kao sto sam i ovako procitao (valjda si vidio onaj winkie
na kraju recenice).
Ma znam da si procitao - tesko je zamisliti da programer ne bi pogledao
bilo kakav komadic koda :-))
Post by Bruno Babic
Takve stvari me puno vise bodu u oci nego besmislena imena varijabli :)
Ali, samo za takve poput tebe nebi bilo lose napraviti neki
medju-prevoditelj koji bi omogucio da programski koristi hrvatske
kljucne rijeci umjesto engleskih.
:-))

Inace su bas meni uvijek zamjerali jer sam jos od osamdesetih cak i
komentare u programima pisao na engleskom.

Kasnije sam vise puta nekome tko je tek ucio programirati pokazivao
neke osnove pa sam primijetio da je nekima u pocetku bilo tesko
shvatiti sta je dio jezika a sta je definirao programer. Recimo nekom
tko tek uci programirati a jos si nije u glavi stvorio detaljnu sliku
mozda nece biti iste sekunde jasno da je ime 'point2d' u deklaraciji:

Point2D point2d = new Point2D(0.0f, 0.0f);

proizvoljno. Ali ako se napise:

Point2D mojaTocka2d = new Point2D(0,0f, 0.0f);

onda ce taj dio lakse shvatiti. U Python programu sam stavio HR imena
variabli jer ce ga koristiti frend koji ce te vrijednosti izeditirati
tako da ce mu sigurno biti puno lakse nego da si znacenje parametara
mora prevoditi.

Inace HR jezik ne koristim u niti jednom programu a kamoli da bi HR
jezik imao ukljucen u OS-u. Strancima inace nije jasno zasto netko ne
bi koristio vlastiti jezik, pogledaj recimo ovaj thread:

http://tinyurl.com/owgug3t

gdje me covjek pita: 'Can I ask, but why wouldn't you want errors in
native language if they are available?'.

I to ne pita 'bilo tko', Clawson je jedan od gcc guru-a koji napamet
zna pola source-a od AVR-GCC-a.

Nemam sada tu (ovdje) biljeznicu ali skenirati cu ti jednom par
stranica iz biljezice u koju sam si zapisivao programe osamdesetih dok
jos nisam imao printer a kazete su bile nepouzdane (vecinom Spectrum
assembler programi). Iako u Z80 programima nema variabli, sve labele i
komentare napisao sam na engleskom a dok sam te programe pisao mi nije
nikad palo na pamet da bi ih jednom mogao citati netko drugi. Cak sam i
zabiljeske u vezi programa napisao sve na engleskom.

A naravno da kad pisem nesta na forumima sve napisem na engleskom, ovo
sam bas napisao ovu noc:

http://tinyurl.com/z95c38s
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo
Loading...