无法在Python 3.5下从导入的模块访问函数

时间:2016-06-08 14:01:04

标签: python

我正在尝试在我的计算机上运行一个名为MTpy的Python模块;该软件包允许处理和处理大地电磁(地球物理)数据。 我在Windows 10下使用Python 3.5和Anaconda / Spyder IDE。 我刚刚开始使用Python,所以如果我的问题看起来微不足道,我会道歉!

我的问题是,我可以导入mtpy模块及其所有子模块,但是我无法调用这些子文件夹中包含的任何函数。

例如,mtpy包含一个名为analysis的子模块。

我可以成功运行:

import mtpy.analysis

正在运行

help(mtpy.analysis) 

将返回:

Help on package mtpy.analysis in mtpy:

NAME
    mtpy.analysis

PACKAGE CONTENTS
    distortion
    geometry
    niblettbostick
    pt
    staticshift
    zinvariants

FILE
    c:\users\sheldon\anaconda3\lib\site-packages\mtpy-0.0.1-py3.5.egg   \mtpy\analysis\__init__.py

但是,在尝试访问分析文件夹中包含的distortion.py函数时,收到以下错误消息:

Traceback (most recent call last):

File "<ipython-input-56-16963e2f7b1c>", line 1, in <module>
mtpy.analysis.distortion()

AttributeError: module 'mtpy.analysis' has no attribute 'distortion'

仅供参考,我的模块(mtpy)和子模块文件夹(例如分析)都包含init文件。

非常感谢你的帮助!

干杯,

谢尔顿

1 个答案:

答案 0 :(得分:1)

distortion.py 不是一个函数,它是analysis的子包,不可调用 。您可以使用mtpy.analysis.distortion中定义的方法。您可以在python 3 modules tutorial上获得更多信息。

祝你好运!