Pip 安装具有多个文件的本地项目

问题描述 投票:0回答:0

我正在尝试创建一个本地 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'

我不确定我哪里出了问题,或者为什么它无法找到导入。我还需要指定其他内容才能找到导入吗?

python pip setuptools python-packaging
© www.soinside.com 2019 - 2024. All rights reserved.