如何在Python 3中创建包?模函数

2024-09-24 00:23:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在按照Python Central上的简单指南为代码创建一个包:

https://www.pythoncentral.io/how-to-create-a-python-package/

所以我的目录结构是:

main.py
pack1/
         __init__.py
         Class1.py

main.py文件中,我导入并使用Class1作为:

from pack1 import Class1
var1 = Class1()

在我写的__init__.py文件中:

import Class1 from Class1

我完全照着向导做,但还是犯了错误:

ModuleNotFoundError: No module named 'Class1' (in __init__.py)

Tags: 文件代码frompyhttpsioimportinit
1条回答
网友
1楼 · 发布于 2024-09-24 00:23:31

Python 3有absolute imports。将__init__.py更改为:

from .Class1 import Class1

前导点表示此模块是相对于__init__.py的位置找到的,在同一目录中。否则,它将查找具有此名称的独立模块。

PEP 328给出了所有细节。因为Python 3.0,这就是the only way

Removed Syntax

The only acceptable syntax for relative imports is from .[module] import name. All import forms not starting with . are interpreted as absolute imports. (PEP 0328)

文件Class1.py包含以下代码:

class Class1:
    pass

相关问题 更多 >