所以我有一个项目,其结构如下所示:project├── src│ ├── api│ │ ├── __init__.py│ │ └── api.py│ ├── instance│ │ ├── __init__.py│ │ └── config.py│ ├── packages│ │ ├── __init__.py│ │ └── app.py├── tests│ └── __init__.py├── requirements.txt├── README.md├── .gitignore└── setup.py我正在尝试创建setup.py以instance/config.py从package/app.py. 所以我创建了以下内容setup.py:from distutils.core import setupfrom setuptools import setup, find_packagessetup( name='project', version='0.1dev0', author='Author name', author_email='my_email', packages=['api', 'instance', 'packages'], long_description=open('README.md').read())但我收到以下错误:... warnings.warn(tmpl.format(**locals())) package init file 'src\__init__.py' not found (or not a regular file) error: package directory 'api' does not exist ----------------------------------------ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.因此,每当我尝试从中调用时instance/config.py,packages/app.py我都会收到以下错误: from instance import configModuleNotFoundError: No module named 'instance'我需要对setup.py文件做什么才能使其工作?项目的结构是否应该以某种方式改变?提前非常感谢!
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
简而言之,您必须project在项目目录中创建一个根包。有关更多详细信息,请参阅https://packaging.python.org/tutorials/packaging-projects/。然后
from project.instance import config
重命名并与导入src一起project放在那里__init__.py
from . import api, instance, packages
添加回答
举报
0/150
提交
取消
