Sunteți pe pagina 1din 7

Laborator 1

Obiective:
1. Instalare Python 3.5 și alte pachete pentru mediul științific
2. Consola IPhython – caracteristici esențiale
3. Integrated Development Environment (IDE) - Spyder

Verde – Exemple Roșu- Exerciții

1.Instalare Python 3.5 și alte pachete pentru mediul științific


Python este un limbaj de programare cu interpretare de nivel înalt, de uz general (cu
GUI puternic, I / O, internet, și biblioteci de baze de date), este gratuit și open-source, în
mod fundamental orientate-obiect, foarte portabil, extensibil și încorporabil.

IPython este o consolă îmbunătățită pentru interpretorul Python și Notebook. Este un


instrument esențial pentru calcul interactiv atunci când este combinată cu pachetele
specializate, NumPy, SciPy și Matplotlib - pachete ce aduc calcul de înaltă performan ță
și facilități de vizualizare interactive în universul Python, IPython fiind piatra de
temelie.

Pe parcursul acestui curs pe lânga pachetul de baza Python, vom folosi și alte pachete,
printre care NumPy, SciPy, Pandas și Matplotlib, care sunt de obicei folosite cu
IPython.

Există mai multe modalități de instalare Python și pachetele recomandate:


• all-in-one: instalați o distribuție Python independentă, cu o mare varietate de pachete
Python built-in
• one-by-on: instalați separat numai pachetele de care aveți nevoie

Instalare pachete all-in-one:


Această soluție este cea mai ușoară. Aveți posibilitatea să descărcați un singur instalator
binar care conține o distribuție Python completă pentru mediul științific, cu o mulțime
de pachete/librarii externe utilizate pe scară largă, inclusiv IPython.

Toate aceste distribuții gratuite suportă Linux, OS X și Windows, cu excepția Python (x,
y), care este numai pentru Windows:

Distribuții populare:
• Anaconda de Continuum Analytics - Anaconda:
http://www.continuum.io/
• Enthought Python Distribution (EPD) - Canopy:
http://www.enthought.com/

• Python (x, y), un proiect open source:


http://python-xy.github.io/

Exerciții
Accesați site-ul: http://www.continuum.io//downloads și instalați Anaconda 4.1.1 pentru
Windows, Python 3.5 vesiunea 64-BIT INSTALLER urmând toți pașii. Acceptați
instalarea în locația default C:\Python3.5

Deschideti un prompt de comandă, lansând aplicația cunoscută sub numele de


Microsoft PowerShell, apăsând tasta Windows+ R și tastați powershell + Enter.
Încercați să porniți interpretorul Python prin tastarea Python.
Ar trebui să vedeți un mesaj care se potrivește cu versiunea pe care ați instalat-o.

Dacă nu se lansează interpretorul Python, trebuie să verificați că Python a fost adăugat


cu succes la “path sistem”.

Windows7: în zona căutarea programelor -programs search field tastați “environment


variables” și selectați Editare Environment variabile pentru contul dvs.

Windows XP: va trebui să mergeți la Control Panel> System> Advanced> Environment


Variables, și căutați variabila Path. Aceasta trebuie să conțină următoarele două căi,
separate prin punct și virgulă: C: \ Python3.5; C: \ Python3.5 \ Scripts

După ce ați făcut o modificare la Path, trebuie să reporniți promptul de comandă pentru
ca modificările să aibă efect.

Instalare pachete one-by-one:


Sunt situații în care preferați să instalați numai pachetele de care aveți nevoie în loc să
instalați un mare pachet all-in-one. Există posibilitatea de a instala pachete de la sursa,
pentru Windows, OS X, și Linux.

Depozit online de pachete Python numit Pachetul Python Index (PyPI) :


http://pypi.python.org.

Exemple de pachete sursa:

Python: https://www.python.org/

Ipython: http://ipython.org

NumPy-calcule vectorizate /multidimensionale: http://www.numpy.org


SciPy - algoritmi numerici avansați: http://www.scipy.org

Matplotlib -plotare și vizualizare interactivă :http://matplotlib.org

Pandas- manipulare date tabulare data:http://pandas.pydata.org

Python Imaging Library (PIL) -algoritmi procesare imagini:


http://www.pythonware.com/products/pil

PyQt - graphical user interfaces (GUIs):


http://www.riverbankcomputing.co.uk/software/pyqt/intro

Cython - C code in Python: http://cython.org

Exemplu:
Ipython are următoarele dependențe opționale:
• pyreadline:oferă caracteristici de editare în linie
• pyzmq: necesară pentru calcul paralel, cum ar fi consola Qt și notebook
• pygments: scoate în evidență sintaxă în consola Qt
• tornado: necesară Notebook-ul web-based

Toate acestea sunt instalate automat atunci când instalați IPython dintr-un pachet binar,
dar că nu este cazul atunci când instalați IPython din codul sursă și toate aceste
dependențe trebuiesc instalate fiecare.

Exerciții
Accesați fiecare site și familiarizați-va cu ele, deschideți documentația, tutoariale etc.
NU instalați niciun pachet !

2 consola IPhython – caracteristici esențiale

1. Lansare Ipython

În cazul în care IPython a fost instalat corect, ar trebui să-l puteți rula dintr-un sistem
shell (fereastră de comandă/ terminal) cu comanda ipython.

Atenție ! În Windows, nu folosiți shell-ul cmd.exe, ci Microsoft PowerShell, care este


integrat în mod implicit în Windows 7 și 8.

Aveți posibilitatea să utilizați acest prompt ca un interpretor Python, a șa cum se arată în


următoarea captură de ecran:
Exerciții
- lansați IPython cu comanda ipython din sistem shell
- apelati funcția print(“orice text doriti”)
- faceți cateva calcule numerice:
-dacă nu asignați nume de variabile rezultatelor numerice se creează automat
variabila _
- ; la sfârșitul oricărei comenzi nu mai afișează rezultatul
- asignați unor variabile valorile 5, 10.3 și ‘python’

2. Tasta TAB
Auto-completare pentru cuvinte cheie, obiecte, atributele și metodele obiectelor, dar și
pentru nume de fișiere și directoare. În cazul în care sunt posibile mai multe opțiuni,
IPython va lista toate opțiunile posibile.

Exerciții
- scrieti următoarea comandă: import collections
- apelați co<TAB>
- apelați collections.<TAB>

3. Comanda help
? se accesează help-ul IPython
nume_obiect? se accesează help-ul acestui obiect, inclusiv docstrings, linii de definire
a funcției (pentru argumentele de apel) și detaliile constructor pentru clase.
nume_obiect ?? se afișează și codul sursă a obiectului

Exerciții
- aplelați pe rând urmatoarele comenzi: help(int), help(foat), help(str)
- aplelați pe rând urmatoarele comenzi: ?int sau int?
- scrieți următoarele comenzi:
import collections
collections.namedtuple?
collections.namedtuple??

4. Comanda history

IPython, implicit ține evidența istoriei tuturor comenzilor de intrare din toate sesiunile :
~/.ipython/profile_default/history.sqlite

Există modalități convenabile de a naviga prin ea:


-de la promptul IPython putem apăsa tastele săgeată în sus și în jos, în orice moment,
pentru a naviga liniar prin istoria noastră recentă.
- comanda history (sau % hist, care este un alias) afișează toate istoria comenzilor de
intrare din sesiunea curentă, fără a numerota liniile.

Exerciții
- apelați comanda history? și citiți documentația
- afișați istoria tuturor comenzilor numerotând liniile
- afisați liniile 2-5 și 8
- scrieți ultimele 10 linii din history in fișierul log.py

2. IPython - sistem shell

IPython oferă mai multe moduri pentru a interacționa cu sistemul de operare în timpul
unei sesiuni interactive Python fără a renunța la consolă. Puteți utiliza linia de comandă
din IPython ca un sistem shell extins: se poate naviga prin sistemul de fișiere și se pot
executa orice comenzi de sistem. Comenzile standard din Unix (pwd, ls, cd, mkdir etc )
sunt disponibile în IPython și funcționează pe Windows.

Caracteristicile IPython shell nu sunt menite să înlocuiască toate caracteristicile unui


Unix shell. Atunci cand apelam în IPython o comandă din Unix shell folosim comanda
prefațată de ! , de exemplu: !unzip nume_fișier.zip.

Exerciții:
Dați comanda lsmagic pentru a lista toate comenzile de sistem. Toate comenzile magic
trebuiesc apelate cu prefixul %, dar IPython e setat automat sa se omită % )
Exemple:
Navigare:
ls -a listează toate fișierele și directoarele
ls <folderName> listează fișierele din director

cd <folderName> schimbă directorul


cd / du-te la directorul rădăcină
cd .. du-te cu un directorul mai sus , putem folosi: ../../../

pwd printează directorul curent

Manipularea fișierelor:

mkdir MyStuff crează un nou director MyStuff


cat <fileName> afișează conținutul fișierului
cp file.txt newfile.txt copiază și redenumește un fișier
cp image.jpg <folderName> copiază fișierul în director

mv file.txt Documents/ mută fișierul în director


mv <folderName> <folderName2> mută un director în alt director
mv filename.txt filename2.txt redenumește fișierul
mv <folderName>/ .. mută directorul în sus, in ierarhie

rm <fileName> șterge fișierul(ele)


rm -r <foldername>/ șterge directorul

run <fileName.py> rulează scriptul

Exerciții:
Vom descărca și extrage fișiere comprimate din Internet, vom naviga prin ierarhia de
fișiere și vom salva un director ca un bookmark pentru a-l accesa usor în sesiunile de
lucru viitoare.
Da-ti următoarele comenzi:
- Printăm directorul curent
- Creăm directorul Data pe hard-disk
- Facem download-ul datelor facebook.zip in directorul Data apelând comanda:
!wget https://raw.githubusercontent.com/ipython-books/minibook-2nd-data/master/
facebook.zip
- Dezarhivăm datele apelând comanda: !unzip facebook.zip
- Listăm conținutul directorului Data
- Schimbăm în directorul facebook
- Facem un bookmark pentru directorul facebook apelând comanda: bookmark fbdata
- Ștergem arhiva facebook.zip
Exerciții:
Comanda Unix : !ls -S | grep .edges
listează toate fișierele din directorul curent, sortate descrescător după marime, și cu un
singur fișier pe fiecare rând.
Pipe | grep .edges filtrează fișierele care conțin în numele fișierului cuvântul edges
Creăm variabila ff ce conține lista tuturor numelor de fișiere, așa cum se arată în
următorul exemplu:

cd fbdata
ff =!ls -S | grep .edges

3.Spyder

Lansați aplicația Spyder și familiarizați-vă cu mediul.

Link-uri utile:
Tutorial IPython
http://ipython.readthedocs.io/en/stable/interactive/tutorial.html
https://docs.python.org/3/tutorial/