为了账号安全,请及时绑定邮箱和手机立即绑定

正确的 setup.py 创建

正确的 setup.py 创建

一只斗牛犬 2022-10-18 14:58:35
所以我有一个项目,其结构如下所示: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


查看完整回答
反对 回复 2022-10-18
  • 1 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号