Python模块脚本和导入

Python模块脚本和导入,python,import,module,Python,Import,Module,我在堆栈上已经有一段时间了,但仍然不能用脚本和模块来理解python导入。下面是dir设置,pack作为包,gdtsp作为模块,driver作为驱动程序脚本导入并使用gdbtsp模块中的方法 └── pack ├── driver.py ├── gdbtsp.py ├── __init__.py gdbtsp模块有导入语句,主要是numpy matplotlib语句: 我将我的方法包装在一个类中,以便gdbtsp看起来像: from matplotlib import

我在堆栈上已经有一段时间了,但仍然不能用脚本和模块来理解python导入。下面是dir设置,pack作为包,gdtsp作为模块,driver作为驱动程序脚本导入并使用gdbtsp模块中的方法

└── pack
    ├── driver.py
    ├── gdbtsp.py
    ├── __init__.py
gdbtsp模块有导入语句,主要是numpy matplotlib语句: 我将我的方法包装在一个类中,以便gdbtsp看起来像:

from matplotlib import pyplot as plt
import numpy as np
from scipy import stats as st

class Gdbtsp(object):
    def __init__(self, n, m):
        self.n, self.m = float(n), float(m)


    def gridCop(self):
        n = self.n

        X ,Y = np.mgrid[0.0:1.0:20j, 0.0:1.0:20j]
        first_value = np.zeros([len(X),len(Y)], dtype=float)
我的问题:

运行gdbtsp可以像脚本一样正常工作:pythongdbtsp->outputsfine。 另一方面,在driver.py或terminal中导入gdbtsp不起作用

从包装导入gdbtsp作为gd

据我所知,import语句被绑定到gd名称空间,因此 gd.np,gd.plt。。。并且驱动程序以NameError终止:未定义名称“np”

如何设置import语句,使模块也可以作为脚本使用。如果失败,如何将脚本转换为模块


提前感谢…

什么代码不起作用,什么是完整的错误回溯?驱动程序模块是否已将numpy作为np导入?import语句仅使导入的模块在导入模块中可用。这与C/C++includes不同——导入模块gdbtsp不会使该模块直接可用于任何导入gdbtsp的模块。另外,来自驱动程序的代码也会很有用。最初,我刚刚为该模块编写了一条导入语句:from gdbtsplib import gdbtsp as gd。现在我明白了,我还必须在驱动程序文件中包含那些依赖的导入。将模块中的精确导入语句添加到驱动程序中解决了这个问题。这似乎会变得混乱。通常如何为可能要使用这些模块的下游应用程序指定这些依赖模块?