我正在制作导入包,当我尝试导入并使用该包时,我一直遇到问题。主要是当我尝试运行它时。
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)
答案 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