Sto usando scipy e numpy tramite la distribuzione di Anaconda 2.1.0. Uso Spyder come IDE Python.Differenze nell'importazione di moduli/pacchetti secondari di pacchetti numpy e Scipy
Quando eseguo import scipy as sp
, io non riesco ad accedere a pacchetti secondari, come ottimizzare, linalg, gruppo etc. attraverso sp.
Tuttavia, quando corro import numpy as np
, sono in grado di accedere a tutti i suoi sottopacchetti, come ad esempio linalg, random, matrixlib, polynomial, testing, ecc. tramite np
.
C'è una ragione per cui le due importazioni funzionano in modi diversi? Perché lo import scipy as sp
non carica tutti i sottopacchetti scipy nel namespace sp
?
Questa è davvero una domanda interessante. La cosa divertente è: dopo "import scipy as sp' digitando" sp.optimize "ti daremo un errore. Ma se lo fai 'da scipy import optimize', all'improvviso' sp.optimize' non ti darà più errori. Questo problema non è specifico per anaconda. – cel
@cel, non si ottiene più l'errore perché quando si digita 'da scipy import optimize', l'interprete si rende conto che ha già caricato il pacchetto principale' scipy', e importerà il sottomodulo 'optimize' all'interno di quello già modulo caricato. L'identificatore 'sp' sta puntando a quello stesso modulo di prima che ora è 'aggiornato', così ora puoi accedere al sottomodulo' optimize' anche attraverso l'identificatore. – gg349
@ gg349, oh questo ha senso - non lo sapevo :) – cel