python-3.x - Numpy 子模块导入不出现
问题描述
我前段时间问过这个问题,从那以后我一直试图解决它。
Tl;博士我想要一种将外部包导入我自己的方法,而不会让所有这些导入作为函数/模块/包出现在我的 Ipython 控制台中,这些函数/模块/包可以从我包中的模块调用。
为了做到这一点,我查看了一些完善的 Python 包是如何设计出来的,这让我深入了解了 Numpy。
在我的包中,如果我需要 Numpy 的某些功能,我可以将它导入我需要的模块中,或者将其添加到相应的__init__.py
文件中。它完成了工作,但出现了上述问题。
然而,Numpy 并非如此。以 subpackage 为例linalg
。它从中导入了很多功能,numpy.core
但如果我输入,它们都不会出现
numpy.linalg.
在 Spyder 内的 Ipython 控制台中。唯一出现的是变量中指定的那些
__all__ = ['matrix_power', 'solve', 'tensorsolve', 'tensorinv', 'inv',
'cholesky', 'eigvals', 'eigvalsh', 'pinv', 'slogdet', 'det',
'svd', 'eig', 'eigh', 'lstsq', 'norm', 'qr', 'cond', 'matrix_rank',
'LinAlgError', 'multi_dot']
所以我想,如果我__all__
在我的模块中添加一个变量并只用我想要的变量初始化它应该可以解决问题。它没有,Numpy 导入仍然出现。
让我感到困惑的是,据我所知,在 Scipy 包中,如果我检查scipy.linalg.basic
它导入 Numpy 的模块,它会在我输入时出现
scipy.linalg.basic.
与模块中编写的函数一起进入 Ipython 控制台。
因此,与 Scipy 和我自己的包相比,Numpy 处理的事情有所不同,我不知道它是什么。有任何想法吗?
解决方案
推荐阅读
- android - 在服务和活动之间发送数据
- javascript - 我可以使用 Javascript 将 CSS 样式属性打印到控制台吗?
- java - Spring boot 不会调用我的 dao
- c# - WebBrowser 获取页面大小
- geospatial - 地理空间对象的 Azure 搜索空值
- powerbi - 创建一个度量来比较每周的发展
- node.js - 通过 DM 向用户添加角色
- pdfbox - PDFBox 2.0.11 - 添加外部字体后缓慢生成 PDF
- reactjs - React 组件无限重新渲染
- android - 网络服务发现:onServiceRegistered() 中的 NsdServiceInfo 为空 - RegistrationListener 的回调