Python 获取运行sphinx时出现django:导入错误(autodoc:导入模块失败)

Python 获取运行sphinx时出现django:导入错误(autodoc:导入模块失败),python,django,python-sphinx,importerror,Python,Django,Python Sphinx,Importerror,我正在运行一个Docked Cookiecutter django应用程序,无法让sphinx与该项目一起工作。当我运行autodoc时,我设置了它,它确实创建了文件,但当我运行make html时,它会给我带来很多错误: WARNING: autodoc: failed to import module 'admin' from module 'building_data'; the following exception was raised: Traceback (most recent

我正在运行一个Docked Cookiecutter django应用程序,无法让sphinx与该项目一起工作。当我运行autodoc时,我设置了它,它确实创建了文件,但当我运行make html时,它会给我带来很多错误:

WARNING: autodoc: failed to import module 'admin' from module 'building_data'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/sphinx/ext/autodoc/importer.py", line 32, in import_module
    return importlib.import_module(modname)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/micromegas/myprojectfolder/myproject/building_data/admin.py", line 2, in <module>
    from .models import Building, BuildingGroup, DemandHeat, DemandCool, TimeSeries
  File "/Users/micromegas/myprojectfolder/myproject/building_data/models.py", line 6, in <module>
    from simulation_api.models import Project
  File "/Users/micromegas/myprojectfolder/myproject/simulation_api/models.py", line 1, in <module>
    from config.settings.storage_backends import MediaStoragePrivate
  File "/Users/micromegas/myprojectfolder/myproject/config/settings/storage_backends.py", line 1, in <module>
    from storages.backends.s3boto3 import S3Boto3Storage
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 40, in <module>
    class S3Boto3StorageFile(File):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 58, in S3Boto3StorageFile
    buffer_size = setting('AWS_S3_FILE_BUFFER_SIZE', 5242880)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/utils.py", line 21, in setting
    return getattr(settings, name, default)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 64, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting AWS_S3_FILE_BUFFER_SIZE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

WARNING: autodoc: failed to import module 'models' from module 'building_data'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/sphinx/ext/autodoc/importer.py", line 32, in import_module
    return importlib.import_module(modname)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/micromegas/myprojectfolder/myproject/building_data/models.py", line 6, in <module>
    from simulation_api.models import Project
  File "/Users/micromegas/myprojectfolder/myproject/simulation_api/models.py", line 1, in <module>
    from config.settings.storage_backends import MediaStoragePrivate
  File "/Users/micromegas/myprojectfolder/myproject/config/settings/storage_backends.py", line 1, in <module>
    from storages.backends.s3boto3 import S3Boto3Storage
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 40, in <module>
    class S3Boto3StorageFile(File):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 58, in S3Boto3StorageFile
    buffer_size = setting('AWS_S3_FILE_BUFFER_SIZE', 5242880)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/utils.py", line 21, in setting
    return getattr(settings, name, default)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 64, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting AWS_S3_FILE_BUFFER_SIZE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

WARNING: autodoc: failed to import module 'urls' from module 'building_data'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/sphinx/ext/autodoc/importer.py", line 32, in import_module
    return importlib.import_module(modname)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/micromegas/myprojectfolder/myproject/building_data/urls.py", line 2, in <module>
    from .views import DetailBuildingGroupView, \
  File "/Users/micromegas/myprojectfolder/myproject/building_data/views.py", line 9, in <module>
    from .models import BuildingGroup
  File "/Users/micromegas/myprojectfolder/myproject/building_data/models.py", line 6, in <module>
    from simulation_api.models import Project
  File "/Users/micromegas/myprojectfolder/myproject/simulation_api/models.py", line 1, in <module>
    from config.settings.storage_backends import MediaStoragePrivate
  File "/Users/micromegas/myprojectfolder/myproject/config/settings/storage_backends.py", line 1, in <module>
    from storages.backends.s3boto3 import S3Boto3Storage
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 40, in <module>
    class S3Boto3StorageFile(File):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 58, in S3Boto3StorageFile
    buffer_size = setting('AWS_S3_FILE_BUFFER_SIZE', 5242880)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/utils.py", line 21, in setting
    return getattr(settings, name, default)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 64, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting AWS_S3_FILE_BUFFER_SIZE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

WARNING: autodoc: failed to import module 'views' from module 'building_data'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/sphinx/ext/autodoc/importer.py", line 32, in import_module
    return importlib.import_module(modname)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/micromegas/myprojectfolder/myproject/building_data/views.py", line 9, in <module>
    from .models import BuildingGroup
  File "/Users/micromegas/myprojectfolder/myproject/building_data/models.py", line 6, in <module>
    from simulation_api.models import Project
  File "/Users/micromegas/myprojectfolder/myproject/simulation_api/models.py", line 1, in <module>
    from config.settings.storage_backends import MediaStoragePrivate
  File "/Users/micromegas/myprojectfolder/myproject/config/settings/storage_backends.py", line 1, in <module>
    from storages.backends.s3boto3 import S3Boto3Storage
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 40, in <module>
    class S3Boto3StorageFile(File):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 58, in S3Boto3StorageFile
    buffer_size = setting('AWS_S3_FILE_BUFFER_SIZE', 5242880)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/utils.py", line 21, in setting
    return getattr(settings, name, default)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 64, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting AWS_S3_FILE_BUFFER_SIZE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

WARNING: autodoc: failed to import module 'serializers' from module 'building_data.api'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/sphinx/ext/autodoc/importer.py", line 32, in import_module
    return importlib.import_module(modname)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/micromegas/myprojectfolder/myproject/building_data/api/serializers.py", line 2, in <module>
    from building_data.models import Building, BuildingGroup, TimeSeries
  File "/Users/micromegas/myprojectfolder/myproject/building_data/models.py", line 6, in <module>
    from simulation_api.models import Project
  File "/Users/micromegas/myprojectfolder/myproject/simulation_api/models.py", line 1, in <module>
    from config.settings.storage_backends import MediaStoragePrivate
  File "/Users/micromegas/myprojectfolder/myproject/config/settings/storage_backends.py", line 1, in <module>
    from storages.backends.s3boto3 import S3Boto3Storage
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 40, in <module>
    class S3Boto3StorageFile(File):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 58, in S3Boto3StorageFile
    buffer_size = setting('AWS_S3_FILE_BUFFER_SIZE', 5242880)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/utils.py", line 21, in setting
    return getattr(settings, name, default)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 64, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting AWS_S3_FILE_BUFFER_SIZE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

WARNING: autodoc: failed to import module 'urls' from module 'building_data.api'; the following exception was raised:
No module named 'rest_framework_jwt'
WARNING: autodoc: failed to import module 'views' from module 'building_data.api'; the following exception was raised:
Traceback (most recent call last):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/sphinx/ext/autodoc/importer.py", line 32, in import_module
    return importlib.import_module(modname)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/micromegas/myprojectfolder/myproject/building_data/api/views.py", line 1, in <module>
    from building_data.models import BuildingGroup, TimeSeries
  File "/Users/micromegas/myprojectfolder/myproject/building_data/models.py", line 6, in <module>
    from simulation_api.models import Project
  File "/Users/micromegas/myprojectfolder/myproject/simulation_api/models.py", line 1, in <module>
    from config.settings.storage_backends import MediaStoragePrivate
  File "/Users/micromegas/myprojectfolder/myproject/config/settings/storage_backends.py", line 1, in <module>
    from storages.backends.s3boto3 import S3Boto3Storage
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 40, in <module>
    class S3Boto3StorageFile(File):
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 58, in S3Boto3StorageFile
    buffer_size = setting('AWS_S3_FILE_BUFFER_SIZE', 5242880)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/storages/utils.py", line 21, in setting
    return getattr(settings, name, default)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/Users/micromegas/miniconda3/envs/website/lib/python3.7/site-packages/django/conf/__init__.py", line 64, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting AWS_S3_FILE_BUFFER_SIZE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

当我打印出
sys.path.insert(0,os.path.abspath('..'))
时,它会显示无

当我将sys path设置为
sys.path.insert(0,os.path.abspath('../../project\u name/myapp'))时,错误变为纯导入错误。

我的文件夹结构:

myproject 
  - my app
  - docs
     - conf.py
     - Makefile
     - index.rst
       ...
  - envs
  - compose
  - ...

有人能帮忙吗?提前非常感谢您的帮助

添加到
sys.path
的条目应该是包含要记录的模块/包的目录的路径。
。/../project\u name/myapp
就是那个路径吗?我不知道这是否是从你提供的信息。谢谢mzjn!当我指定
sys.path.insert(0,os.path.abspath('../../myapp'))
时,我得到了您所说的应该有效的路径。当我打印它时,我会再次得到
/Users/myuser/myproject/myprojects/myapp
。但它仍然告诉我,
无法导入名为myapp.settings的xyz no模块以及其他一些依赖项。当我使用
os.environ['DJANGO\u settings\u module']='myapp.config.settings.local'
指定设置时,我得到了一个错误
没有名为myapp的模块
init.py文件可能是sth吗?我所有的文件夹都包含一个…
\uuuu init\uuuuuuy.py
文件都是包标记:我不认为它们是问题所在(但很难确定)。
myproject 
  - my app
  - docs
     - conf.py
     - Makefile
     - index.rst
       ...
  - envs
  - compose
  - ...