IPython is 'n gratis sagteware projek wat poog om:
Verskaf 'n interaktiewe dop beter Python se verstek. IPython het baie funksies vir voorwerp introspeksie, stelsel dop toegang en sy eie spesiale opdrag stelsel vir die toevoeging van funksies toe interaktief werk. Dit probeer om 'n baie doeltreffende omgewing vir beide Python kode ontwikkeling en vir verkenning van probleme met Python voorwerpe (in situasies soos data-analise) te wees.
Dien as 'n inbedbaar, gereed tolk te gebruik vir jou eie programme. IPython begin kan word met 'n enkele oproep van die binnekant van 'n ander program, die verskaffing van toegang tot die huidige naamruimte. Dit kan baie nuttig wees vir beide die opsporing doeleindes en vir situasies waar 'n versnit van batch-verwerking en interaktiewe eksplorasie nodig.
Bied 'n buigsame raamwerk wat as die basis omgewing vir ander stelsels met Python as die onderliggende taal wat gebruik kan word. Spesifiek wetenskaplike omgewings soos Mathematica, IDL en Mathcad geïnspireer sy ontwerp, maar soortgelyke idees kan nuttig wees in baie velde.
Laat interaktiewe toets van gestruktureerde grafiese hulpmiddels. IPython het steun vir interaktiewe, nie-blokkeer beheer van GTK, Qt en WX aansoeke via spesiale threading vlae. Die normale Python dop kan dit slegs doen vir Tkinter aansoeke
Eienskappe :.
- Dynamic voorwerp introspeksie. 'N Mens kan toegang docstrings, funksie definisie prototipes, bronkode, bron lêers en ander besonderhede van enige voorwerp toeganklik vir die tolk met 'n enkele aanslag ('? ').
- voltooiing in die plaaslike naamruimte, deur te tik TAB op die instruksielyn. Dit werk vir sleutelwoorde, metodes, veranderlikes en lêers in die huidige gids. Dit word ondersteun deur die read line biblioteek, en volle toegang tot die instel read line se gedrag word verskaf.
- Genommerde toevoer / afvoer vra met opdrag geskiedenis (aanhoudende oor sessies en gekoppel is aan elke profiel), vol soek in hierdie geskiedenis en caching van alle toevoer en afvoer.
- Gebruiker-extensible "magic" beveel. 'N stel van opdragte voorafgegaan met% is beskikbaar vir die beheer van IPython self en bied directory beheer, naamruimte inligting en baie aliasse gemeenskaplike stelsel van tolk opdragte.
- Alias fasiliteit vir die definisie van jou eie stelsel aliasse.
- Volledige stelsel dop toegang. Reëls wat begin met! is nie, maar direk na die stelsel dop, en die gebruik van !! vang dop uitset in python veranderlikes vir verdere gebruik.
- Agtergrond uitvoering van Python beveel in 'n aparte draad. IPython het 'n interne werk bestuurder werk genoem word, en 'n gerief backgrounding magic funksie genoem% bg.
- Die vermoë luislang veranderlikes uit te brei wanneer die roeping van die stelsel dop. In 'n dop opdrag, is 'n luislang veranderlike voorafgegaan met $ uitgebrei. 'N dubbele $$ laat verby 'n letterlike $ aan die dop (vir toegang tot Shell en omgewing veranderlikes soos $ PATH).
- lêerstelsel navigasie, via 'n magie opdrag, saam met 'n aanhoudende boekmerk stelsel (met behulp% boekmerk) vir 'n vinnige toegang tot gereeld besoek dopgehou.
- Outomatiese inkeping (opsioneel) van die kode as jy tik (deur die read line biblioteek).
- Makro stelsel vir die vinnig weer uitvoering verskeie reëls van die vorige insette met 'n enkele naam.
- Sessie meld (jy kan dan later gebruik hierdie logs as kode in jou programme).
- Sessie herstel. Logs kan teruggespeel word 'n vorige sessie te herstel na die toestand waar jy dit gelos het
- woordryke en gekleurde uitsondering Stapelspoor drukstukke. Makliker om visueel ontleed, en in verbose af hulle produseer 'n baie nuttige inligting oor foute (basies 'n terminale weergawe van die cgitb module).
- Auto-hakies: call able voorwerpe uitgevoer kan word sonder hakies:. "Sonde 3 'word outomaties omgeskakel word na' sonde (3) '
- Auto-vermelding: die gebruik van ',' as die eerste karakter magte motor-vermelding van die res van die lyn: "my_function ab" word outomaties 'my_function (& quot; n & quot;, & quot; b & quot;)'
- Extensible invoer sintaksis. Jy kan filters wat pre-proses toevoer van die gebruiker om insette te vereenvoudig in spesiale situasies definieer. Dit laat, byvoorbeeld, plak multi-line-kode fragmente wat begin met '& gt; & gt; & gt;' of '...' soos dié van ander python sessies of die standaard Python dokumentasie.
- Buigsame opset stelsel. Dit maak gebruik van 'n konfigurasielêer wat toelaat permanente instelling van alle command-line opsies, module laai, kode en lêer uitvoering. Die stelsel kan rekursiewe lêer insluiting, sodat jy kan 'n basis lêer met gebreke en lae wat laai ander veranderinge vir spesifieke projekte.
- Inlegbare. Jy kan IPython noem as 'n luislang dop in jou eie python programme. Dit kan gebruik word vir beide die opsporing kode of vir die verskaffing van interaktiewe vermoëns tot jou programme met kennis oor die plaaslike naamruimtes (baie nuttig in debugging en data-analise situasies).
- Maklik debugger toegang. Jy kan IPython te roep die Python debugger (PDB) elke keer as daar is 'n onbekende uitsondering. Dit val jy binne die kode wat aanleiding tot die uitsondering met al die data te leef en dit is moontlik dat die stapel te navigeer om vinnig isoleer die bron van 'n fout. Die% run magic opdrag -met die d opsies: kan enige script loop onder PDB se beheer, outomaties die opstel aanvanklike inspeksiepunte vir jou.
- Profiler ondersteuning. Jy kan hardloop enkele state (soortgelyk aan profile.run ()) of 'n volledige programme onder die profiler se beheer. Terwyl dit moontlik is met die standaard profiel module, IPython vou hierdie funksie met magic opdragte (sien '% prun "en"% run p') gerieflik vir 'n vinnige interaktiewe werk.
Wat is nuut in hierdie release:
- Hierdie weergawe bring maande van stadige maar bestendige ontwikkeling, en sal die laaste voor 'n groot herstrukturering en opruim van IPython se internals wat reeds aan die gang. Om hierdie rede, ons hoop dat 0,10 sal 'n stabiele en robuuste release so dat terwyl gebruikers aan te pas by 'n paar van die API veranderinge wat sal kom met die refactoring dat IPython 0.11 sal word, kan hulle veilig gebruik 0.10 in alle bestaande projekte met 'n minimale veranderinge (indien enige).
- IPython 0.10 is nou 'n medium-grootte projek, met ongeveer (soos gerapporteer deur David Wheeler se sloccount nut) 40750 lyne van Python kode, en 'n verskil tussen 0.9.1 en hierdie weergawe wat bevat byna 28000 lyne van kode en dokumentasie. Ons dokumentasie, in PDF-formaat, is 'n 495-bladsy lang PDF dokument (ook beskikbaar in HTML-formaat, sowel gegenereer uit dieselfde bronne).
- Baie gebruikers en ontwikkelaars kode, funksies, bug reports en idees op hierdie release bygedra. Moet asseblief nie huiwer om in kontak met ons as ons misluk het jou bydrae tot hier erken. In die besonder, vir hierdie release ons bydrae van die volgende mense, 'n mengsel van nuwe en gereelde name (alfabeties volgens eerste naam):
- Alexander Clausen: los # 341726 .
- Brian Granger. Baie werk oral (funksies, bug fixes, ens)
- Daniel Ashbrook:. Fout verslag oor MemoryError tydens die opstel, nou vaste
- Darren Dale:. Verbeterings aan dokumentasie bou stelsel, terugvoer, ontwerp idees
- Fernando Peres: verskeie plekke .
- Gael Varoquaux: kern kode, ipythonx GUI, ontwerp besprekings, ens Baie ...
- John Hunter:. Voorstelle, bug fixes, terugvoer
- Jorgen Stenarson. Werk op baie fronte, toetse, fixes, win32 ondersteuning, ens
- Laurent Dufrechou: baie verbeterings aan ipython-wx selfstandige app .
- Lukasz Pankowski: sorteer,
Kommentaar nie gevind