Tråd bedømmelse:
  • 1 Stemmer - 5 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
Generel indledning til Python
09-06-2014, 01:33 (Denne besked var sidst ændret: 09-06-2014, 01:40 af Doctor Blue.)
#1
Generel indledning til Python
Indledning
Selvom det at bruge python scripts er meget meget simpelt, så er der åbenbart stadig en masse der ikke har styr på det. Derfor har jeg valgt at lave en lille gennemgang, der kan hjælpe dig med at bruge andres python scripts.

Installation
Det er nemt at installere python. Den seneste version kan hentes på deres hjemmeside.
https://www.python.org/downloads/

Det er dog vigtigt at være opmærksom på hvilken version af python du skal bruge. En nem måde at tjekke det på, er ved at kigge i det script du vil køre.
Hvis der i scriptet står
import __future__
er scriptet skrevet om til at understøtte både python 2 og 3.
Hvis linjen ikke er der, skal du tjekke hvilken version det er skrevet til.
De fleste scripts bruger "print" på et eller andet tidspunkt. I python 2 er print ikke en funktion, men det er den i python 3.
Find en linje der bruger "print" og se om der bruges paranteser omkring teksten.
print "Dette er Python v2.x"
print("Dette er Python v3.x")

Man ender i de fleste tilfælde med at downloade python 2.7, men det ville være rart hvis folk ville begynde at gå i retning af 3.x.
Hent den tilsvarende version af python og installer den.

Kør scriptet
Selvom det ikke er noget jeg oplever så meget her på siden, så ses det tit på Hackforums at folk ikke har styr på det allermest basale i kommandoprompt. De færreste scripts er skrevet til at spørge dig interaktivt, og skal altså køres fra kommandolinjen.
Hvis du har tilføjet python til din PATH (Se pakkehåndtering), kan du for eksempel navigere til skrivebordet
Kode:
cd C:\Users\Brugernavn\Desktop

og køre filen eksempel.py sådan her:
Kode:
python eksempel.py

Hvis du ikke har tilføjet python til din PATH variabel, skal den køres fra sin mappe, som her:
Kode:
C:\Python27\python.exe eksempel.py

Nogle scripts kræver argumenter, altså ekstra information for at virke. Disse indtastes bare efter filens navn. For eksempel kræver nogle scripts en email addresse:
Kode:
python eksempel.py email@addresse.dk

Pakkehåndtering (easy_install/pip)
Python er et af de få sprog, der mærkeligt nok ikke har sin pakkehåndtering med i installationen, den skal du selv sørge for at få med.
Der er absolut ingen grund til at bruge easy_install over pip, da pip på mange måder er mere brugervenligt. Det giver bedre fejlbeskeder og hjælper med at undgå delvise fejlslagne installationer og meget andet godt.
Du kan downloade pip installeren her: http://ge.tt/api/1/files/4H4VQ6j1/0/blob?download

Når du har hentet den skal du bare køre den med python for at installere pip. Du kan slette get-pip.py igen bagefter.

Du kan nu køre pip enten ved at navigere til din python installationsmappe og derefter undermappen scripts og skrive pip, eller hvis du skal bruge det ofte kan jeg anbefale at tilføje det til din PATH variabel.
Når du tilføjer en mappe til PATH får du adgang til programmerne indeni, uafhængigt af hvilken mappe din kommando prompt arbejder i, ligesom du for eksempel kan køre alle programmer i C:\Windows\System32 selvom din prompt bruger dit skrivebord som arbejdsmappe.

For at tilføje pip til din PATH skal du først åbne kontrolpanelet og derefter trykke på system.
[Billede: FjJM02i.png]

Herefter trykker du på avancerede systemindstillinger/advanced system settings i sidebjælken.
[Billede: Jc3TKfQ.png]

Klik på miljøvariabler/environment variables i bunden.
[Billede: h0VNpKo.png]

Hvis du er administrator på computeren (Det er du sandsynligvis) finder du PATH i listen under systemvariabler og trykker redigér/edit. Hvis ikke, gør du det samme, men under brugervariabler. Sommetider står der Path, andre gange står der PATH. Det er ikke vigtigt for Windows.
[Billede: fjTOGYe.png]

Gå hen til slutningen af den nederste linje og tilføj
Kode:
;C:\Python27;C:\Python27\Scripts

Erstat dette med installationsmappen for python, hvis du har installeret version 3 skal der naturligvis stå Python34 (= version 3.4).

Gem ændringerne og luk alle vinduerne.
Test dine indstillinger ved at åbne en kommandoprompt og skrive "pip". Hvis den giver dig en masse hjælp til hvordan pip bruges, har du installeret det korrekt. Hvis den siger at det ikke er genkendt som en intern eller ekstern kommando har du gjort noget forkert, dobbelttjek at du har skrevet det rigtige i PATH.

Installation af libraries
Du kan se øverst i scriptet hvilke libraries der bliver brugt. Eksempelvis:
import sys
import date
import requests
import twistd

Her er lister over de libraries der allerede findes i python og dermed ikke skal hentes med pip:
https://docs.python.org/2/library/ (Python 2.7)
https://docs.python.org/3/library/ (Python 3.4)

I mit eksempel kan du se at der inkluderes sys, date, requests og twistd. sys og date eksisterer allerede i python, men requests og twistd skal installeres manuelt.
Gør dette ved at åbne kommandoprompt og kør:
Kode:
pip install requests
pip install twistd

Så let er det!

MEN! Windows giver meget besvær når man prøver at kompilere C-kode (og det kræver nogle libraries). Hvis du får en masse underlige fejl om gcc, mingw eller noget andet du ikke forstår, så hent et præ-kompileret library som EXE fil i stedet. De er rimeligt nemme at installere.
http://www.lfd.uci.edu/~gohlke/pythonlibs/
Mangler du hjælp?
Regler |  E-mail (PGP)
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
09-06-2014, 12:21
#2
RE: Generel indledning til Python
Windows cmd 101... Men tror du har ret i at mange går død i det der. God skrevet og forklaret Blue.
Don't learn to hack, hack to learn
Find alle beskeder fra denne bruger
Citer denne besked i et svar
10-06-2014, 18:19
#3
RE: Generel indledning til Python
(09-06-2014, 12:21)Spagnum Skrev: Windows cmd 101... Men tror du har ret i at mange går død i det der. God skrevet og forklaret Blue.

Mit håb er, at vi kan linke til den her tråd næste gang Calvin lægger et python script op.
Kender jeg ham ret, så sker det nok igen :)
Mangler du hjælp?
Regler |  E-mail (PGP)
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
11-06-2014, 12:11
#4
RE: Generel indledning til Python
Lækker lille info/how to guide du har lavet! Synes det er rigtigt godt (Y)
There is 3 rules for a life.
1. fuck.
2. Dont give a fuck.
3. Dont be fucked over
Find alle beskeder fra denne bruger
Citer denne besked i et svar
09-01-2015, 20:06
#5
RE: Generel indledning til Python
Erstat dette med installationsmappen for python - nogle der kan forklare ? :)
Find alle beskeder fra denne bruger
Citer denne besked i et svar
09-01-2015, 22:09
#6
RE: Generel indledning til Python
(09-01-2015, 20:06)Weberen Skrev: Erstat dette med installationsmappen for python - nogle der kan forklare ? :)

Det betyder bare at hvis C:\Python27 ikke er din installationsmappe, så skal du skrive hvor du ellers har installeret det.
Mangler du hjælp?
Regler |  E-mail (PGP)
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
23-10-2015, 19:24
#7
RE: Generel indledning til Python
Jeg er ved at blive godt frustreret nu, jeg har prøvet og prøvet at få den "pip" command til at virke i cmd at jeg snart går amok.
Jeg har her f.eks. prøvet at tage imod det tip at jeg måske skulle installere python 2.7 i stedet for den nyere version.
Det prøvede jeg så, se screenshots:
http://scr.hu/8l45/3fwpg
http://scr.hu/8l45/9ysd1 - som i kan se, er "pip.py" der helle ikke, da jeg søgte manuel efter den. Og jeg får en cmd prompt error.

Hvad er det jeg skal gøre ? Jeg er forvirret.

http://scr.hu/8l45/zq5cu - jeg downloade python 2.7.1 installer som på billedet. Er det måske den forkerte udgave, hvis det er ville jeg blive glad hvis i gad vise mig hvilken jeg skal have for det er ret forvirrende med så mange udgaver af python.
Find alle beskeder fra denne bruger
Citer denne besked i et svar
24-10-2015, 11:43
#8
RE: Generel indledning til Python
(23-10-2015, 19:24)sebastian3495 Skrev: Jeg er ved at blive godt frustreret nu, jeg har prøvet og prøvet at få den "pip" command til at virke i cmd at jeg snart går amok.
Jeg har her f.eks. prøvet at tage imod det tip at jeg måske skulle installere python 2.7 i stedet for den nyere version.
Det prøvede jeg så, se screenshots:
http://scr.hu/8l45/3fwpg
http://scr.hu/8l45/9ysd1 - som i kan se, er "pip.py" der helle ikke, da jeg søgte manuel efter den. Og jeg får en cmd prompt error.

Hvad er det jeg skal gøre ? Jeg er forvirret.

http://scr.hu/8l45/zq5cu - jeg downloade python 2.7.1 installer som på billedet. Er det måske den forkerte udgave, hvis det er ville jeg blive glad hvis i gad vise mig hvilken jeg skal have for det er ret forvirrende med så mange udgaver af python.

Som BigJ siger skal du hente get-pip.py og installere det først :)
Mangler du hjælp?
Regler |  E-mail (PGP)
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
30-11-2015, 16:48
#9
RE: Generel indledning til Python
Er det ikke irreterende når command'erne hele tiden bliver lavet om, alt efter hvilken version af python man har. Det kan da være svær at vende sig til at skrive f.x. print på forskellige måder hele tiden?!
Find alle beskeder fra denne bruger
Citer denne besked i et svar
30-11-2015, 17:10
#10
RE: Generel indledning til Python
(30-11-2015, 16:48)sebastian3495 Skrev: Er det ikke irreterende når command'erne hele tiden bliver lavet om, alt efter hvilken version af python man har. Det kan da være svær at vende sig til at skrive f.x. print på forskellige måder hele tiden?!

Jeg tror, lige nu, folk har besluttet om de vil bruge python 2.x eller 3.x.
Det ser godt nok ud til, at alle med tiden, skal hen mod noget 3.x. Det har dog nok lange udsigter. :)
Du kan nok se hvad der sker, når version 2.9 er ude, og de så frigiver en ny version, så begynder versionsnumene at kollidere. :)
Ellers må man kode, så det kan køre begge versioner.
---
Writing a shellcode decoder stub in assembly is like talking gibberish in such a way that it is still perfectly intelligible. - iTick
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)