自定义导入包Python

时间:2017-06-26 16:21:07

标签: python-2.7 import module package

我正在制作导入包,当我尝试导入并使用该包时,我一直遇到问题。主要是当我尝试运行它时。

import mypackage

一旦我导入它我可以使用它我导入它时没有任何错误,但是当我去使用它时我得到一个错误,说

TypeError: 'module' object is not callable

在我命名为myfolder的文件夹中,该文件夹位于我当前的工作目录中,我有一个空的 init .py文件以及另外两个.py文件,其中包含我有一个名为的函数test.py和另一个叫test.py ....我的问题不是导入它们但是当我去使用它时我得到了TypeError。

文件夹结构如下,

current working directory
 -Mypackage
  -__init__.py
  -test.py
  -testing.py

我像这样导入它,

from Mypackage import test

我像这样使用它,

test(stuff)

1 个答案:

答案 0 :(得分:1)

你必须学习如何在python中使用模块。将mypackage导入脚本时,它会导入一个包含两个脚本的模块。我们先说他们是first.py和second.py。现在,如果你使用像

这样的东西
from setuptools import setup

    APP = ['mq.py']
    DATA_FILES = []
    OPTIONS = {
        'iconfile':'icons/mq.icns',
            'plist': {'CFBundleShortVersionString':'0.1.0',}
    }

    setup(
        app=APP,
        name='MyApp',
        data_files=DATA_FILES,
        options={'py2app': OPTIONS},
        setup_requires=['py2app'],
    )- 

然后你使用像这样的名为from mypackage import first 的函数

func

然后它应该工作。

简而言之,要么从模块导入所有函数,要么使用点符号来引用这些函数。有关模块的更多信息,请参阅here