使用的蟒蛇3:
Python 3.9.17 (main, Jul 13 2023, 12:25:11)
[Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
操作系统:macOS
这在mac中运行良好,您需要修改的是类,在该类中定义内部方法而不使用self或声明其为静态方法
这就是我所做的回复
文件结构
âââ animal
â  âââ mammal
â  â  âââ __pycache__ #ignore it
â  â  â  âââ dog.cpython-39.pyc # ignore it too
â  â  âââ dog.py
â  âââ reptile
â  âââ snake.py
âââ main.py
snake.py-dog.py和main.py的文件内容
dog.py
文件
# ⯠cat animal/mammal/dog.py
class Dog:
def __init__(self):
self.name = "Dog"
def draw_dog(self): #<- added self
print("www")
snake.py文件
# ⯠cat animal/reptile/snake.py
class Snake:
def __init__(self):
self.name = "Snake"
def draw_snake(self): # <- added self
print("===>")
main.py文件
# ⯠cat main.py
from animal.mammal.dog import Dog
Dog().draw_dog() # <- update in usage
现在我们跑步的时候
python3 main.py
我们得到了输出
# ⯠python3 main.py
www
从系统中的不同位置运行它,而不是在项目本身中,它是有效的
# ⯠python3 /tmp/project/main.py
www