这是名字吗?在setup.py中得到的是模块的名称?
那么在这个例子中,当我使用这个模块时代码是否会写成"from myfirstmodule import siblings_game enter image description here?
其他模块我尝试创建没有工作时,应用到烧瓶(教科书的下一部分是创建一个web应用程序),我试图找到问题的根源。我想如果我没有导入正确的名称。
从头开始。在Python中编写模块所需要做的就是命名一个文件,如my_mod.py
:
print('Hello')
现在代码将执行模块(一次):
import my_mod
如果您在模块中命名了任何内容,则可以在模块中引用它,或直接导入,如以下my_mod.py
:
def fun():
...
ten = 10
import my_mod
my_mod.fun()
from my_mod import ten
print(ten)
一旦你适应了,你可以把模块放在一个适当命名的文件夹中,添加一个__init__.py
,你就有了包的开始。该包可以提供一个setup.py
,它允许您指定关于该包的更多相关元数据,比如它的需求是什么,它适用于哪个平台,等等。
一旦你有了你的包,你可以把它变成一个wheel (.whl)文件,或者通过安装它将它发布到PyPI这样的服务上,并在任何其他应用程序中使用它。它可以是一个web应用程序,也可以是任何其他类型的应用程序。
name
属性是包的名称。它是您或其他人为了使用其功能而必须导入的标识符,就像您说的:
import myfirstpackage
from myfirstpackage import myfirstfunction
如果你的包没有被正确导入,Python很可能会从你的工作目录中找到它,或者你的"package"根本就不是一个包裹!(你把__init__.py
文件添加到myfirstpackage/
了吗?)
除此之外,你可能需要重新发布一个问题,表明你正在做什么。