Python Numpy如何导入其'Numpy.core'包?

Python Numpy如何导入其'Numpy.core'包?,python,python-import,Python,Python Import,我试图了解Numpy/Pandas等软件包是如何进口的,而Numpy似乎是从其核心软件包中调用的。例如,在numpy/linalg/linalg.py中,它进行导入 从numpy.core导入( 数组、asarray、零、空、类空、intc、单、双、, csingle,cdouble,不精确,complexfloating,newaxis,all,Inf,dot, 加法、乘法、sqrt、fastCopyAndTranspose、求和、isfinite、, finfo、errstate、geter

我试图了解Numpy/Pandas等软件包是如何进口的,而Numpy似乎是从其核心软件包中调用的。例如,在
numpy/linalg/linalg.py
中,它进行导入

从numpy.core导入(
数组、asarray、零、空、类空、intc、单、双、,
csingle,cdouble,不精确,complexfloating,newaxis,all,Inf,dot,
加法、乘法、sqrt、fastCopyAndTranspose、求和、isfinite、,
finfo、errstate、geterrobj、moveaxis、amin、amax、产品、abs、,
至少2d,intp,asanyarray,object,matmul,
Swapax,除法,计数非零,isnan,符号
)
为了使其基本运作。但是,文件夹结构是

numpy
   > core
       > __init__.py
       > _asarray.py
       > _dtype.py
       ... 
   > linalg
       > __init__.py
       > linalg.py      <--- Looking at this one
       ...
   > fft 
       > __init__.py
       > helper.py
       > _pocketfft.py  <--- Same thing happens here
       ...
在哪里

\pkg/fruit/\uuuu init.py
来源:水果进口func1
#pkg/banana/_uuinit_uuuuuuuu.py
香蕉进口*
从..水果进口功能1#这行不通

我希望在
banana
包中使用
func1
,问题可能是如何运行它。我通过转到pkg上面的目录并运行
python-mpkg.banana.\uu init\uu
解决了类似的问题


这是一个有很多好信息的问题

从numpy.core导入…
是绝对导入。导入机制在
sys.path
中列出的目录之一中查找
numpy
,而不是当前文件的存储目录


我怀疑您的问题在于
pkg.\uuuu init\uuuuuuuuupy
不存在,这意味着
pkg
只是一个目录,而不是Python包。

使用绝对导入:
来自pkg.fruit import func1
。正如@chepner所指出的,这就是numpy中的import所做的

如果您使用的是Python2,那么必须存在
pkg/\uuu init\uuuuu.py
,但Python3中不再存在此要求

pkg
   > banana
       > __init__.py
       > banana.py
   > fruit
       > __init__.py
       > fruit.py