Python 正确的setup.py创建
因此,我有一个项目,其结构如下所示:Python 正确的setup.py创建,python,python-3.x,setup.py,Python,Python 3.x,Setup.py,因此,我有一个项目,其结构如下所示: project ├── src │ ├── api │ │ ├── __init__.py │ │ └── api.py │ ├── instance │ │ ├── __init__.py │ │ └── config.py │ ├── packages │ │ ├── __init__.py │ │ └── app.py ├── tests │ └── __init__.py ├── req
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
,以便从包/app.py
调用实例/config.py
。因此,我创建了以下setup.py
:
from distutils.core import setup
from setuptools import setup, find_packages
setup(
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.
from instance import config
ModuleNotFoundError: No module named 'instance'
因此,每当我试图从packages/app.py
调用实例/config.py
时,我都会遇到以下错误:
...
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.
from instance import config
ModuleNotFoundError: No module named 'instance'
我需要对setup.py
文件执行什么操作才能使其正常工作?项目的结构是否应该以某种方式改变
提前多谢 简而言之,您必须在项目目录中创建根包
project
。有关更多详细信息,请参阅。然后
from project.instance import config
将src
重命名为project
,并将导入的\uuuu init\uuuu.py
放在那里
from . import api, instance, packages
“there”指的是
src
文件夹内?因为我按照您描述的那样做了,但仍然得到以下错误:from。导入实例导入错误:尝试在没有已知父包的情况下进行相对导入
将src
目录转换为python包。将src
重命名为project
并沿路径project/project/\uuu init\uuuuuuuuuuuuupy
创建