如何解决如何将python src文件夹重命名为pypi包的项目名称?
考虑以下文件夹结构:
My_Project
|- src
| |- firstmod
| | |- __init__.py
| | |- foo.py
| |- __init__.py
| |- bar.py
|- __init__.py
|- setup.py
bar.py
使用 firstmod.foo
作为导入。例如:
#bar.py
from firstmod import foo
....
目标是将 My_Project
打包为 pypi 包并能够像这样导入它
from my_project import bar
我为 setup.py
尝试了几个配置。第一个版本:
#setup.py 1st version
import setuptools
setuptools.setup(
....
packages = setuptools.find_packages(where="src"),package_dir={'': 'src'},....
)
第二个版本:
#setup.py 2nd version
import setuptools
setuptools.setup(
....
packages = [f'my_project.{elem}' for elem in setuptools.find_packages(where="src")],package_dir={'my_project': 'src'},....
)
在第一个版本中,我可以导入 bar
,但必须在软件包安装后从 src
导入它,如 from src import bar
。
在第二个版本中,我无法像 bar
一样导入 from my_project import bar
,因为我收到了像 ModuleNotFoundError: No module named 'firstmod'
一样的导入错误
我经历了这个 question,但这里所有好的答案都建议更改项目文件夹结构。我不想更改我的项目文件夹结构,因为它非常大。
请帮忙。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。