我正在尝试创建一个本地 python 项目,其中包含几个文件,其中包含我想要
pip install
并在其他地方使用的函数。这是一个简化的文件结构
.
├── script.py
└── some_package
├── __init__.py
├── funcs1.py
├── funcs2.py
└── pyproject.toml
其中
__init__.py
为空,其他文件如下所示:
# some_project/funcs1.py
def add(a, b):
return a + b
# some_project/funcs2.py
def sub(a, b):
return a - b
# some_project/pyproject.toml
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "project"
description = "Example project"
version = "1.0.0"
[tool.setuptools.packages.find]
include = ["funcs1", "funcs2"]
# script.py
from project import funcs1, func2
print(funcs1.add(1,2))
print(funcs2.sub(1,2))
我正在尝试使用
pip install ./some_package
安装本地软件包,然后可以看到它已安装
❯ pip freeze
project @ file:///path/to/some_package
所以我希望我已经将本地项目安装为
project
,所以我应该能够运行script.py
,但我收到错误
❯ python script.py
Traceback (most recent call last):
File "/path/to/script.py", line 1, in <module>
from project import funcs1, funcs2
ModuleNotFoundError: No module named 'project'
我不确定我哪里出了问题,或者为什么它无法找到导入。我还需要指定其他内容才能找到导入吗?