“package”参数是执行相对导入所必需的。

5

我不确定是什么原因导致了这个错误,我想在Windows PowerShell上尝试在Django上运行服务器,但是我遇到了此错误和一大堆问题。

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x03D366A8>
Traceback (most recent call last):
  File "D:\Python\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "D:\Python\lib\site-packages\django\core\management\commands\runserver.py", line 121, in inner_run
    self.check(display_num_errors=True)
  File "D:\Python\lib\site-packages\django\core\management\base.py", line 374, in check
    include_deployment_checks=include_deployment_checks,
  File "D:\Python\lib\site-packages\django\core\management\base.py", line 361, in _run_checks
    return checks.run_checks(**kwargs)
  File "D:\Python\lib\site-packages\django\core\checks\registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "D:\Python\lib\site-packages\django\core\checks\urls.py", line 14, in check_url_config
    return check_resolver(resolver)
  File "D:\Python\lib\site-packages\django\core\checks\urls.py", line 24, in check_resolver
    for pattern in resolver.url_patterns:
  File "D:\Python\lib\site-packages\django\utils\functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "D:\Python\lib\site-packages\django\urls\resolvers.py", line 313, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "D:\Python\lib\site-packages\django\utils\functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "D:\Python\lib\site-packages\django\urls\resolvers.py", line 306, in urlconf_module
    return import_module(self.urlconf_name)
  File "D:\Python\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "D:\Python\courseworkupload\courseworkupload\urls.py", line 26, in <module>
    url(r'^upload/', include('.upload.urls')),
  File "D:\Python\lib\site-packages\django\conf\urls\__init__.py", line 50, in include
    urlconf_module = import_module(urlconf_module)
  File "D:\Python\lib\importlib\__init__.py", line 121, in import_module
    raise TypeError(msg.format(name))
TypeError: the 'package' argument is required to perform a relative import for '.upload.urls'

在运行python manage.py runserver之后,进行了此操作。

如有任何问题,请提供帮助,谢谢。

编辑:下面添加树形结构

C:.
│   db.sqlite3
│   manage.py
│
├───.idea
│       courseworkupload.iml
│       misc.xml
│       modules.xml
│       workspace.xml
│
├───courseworkupload
│   │   settings.py
│   │   urls.py
│   │   wsgi.py
│   │   __init__.py
│   │
│   └───__pycache__
│           settings.cpython-35.pyc
│           urls.cpython-35.pyc
│           wsgi.cpython-35.pyc
│           __init__.cpython-35.pyc
│
└───upload
    │   admin.py
    │   apps.py
    │   forms.py
    │   models.py
    │   tests.py
    │   urls.py
    │   views.py
    │   __init__.py
    │
    ├───migrations
    │       __init__.py
    │
    ├───templates
    └───__pycache__
            admin.cpython-35.pyc
            forms.cpython-35.pyc
            models.cpython-35.pyc
            urls.cpython-35.pyc
            views.cpython-35.pyc
            __init__.cpython-35.pyc
1个回答

8

include('.upload.urls')中的前导点是问题所在。

假设upload在您的项目目录中(包含manage.py的那个目录),将其更改为upload.urls应该可以解决问题。

url(r'^upload/', include('upload.urls')),

非常感谢您的帮助,您是正确的,这让我避免了抓狂!谢谢! - 102254563
这只是在较新版本的Python中出现的问题吗?我记得以前没有遇到过这个问题。 - daraul
@daraul,说实话我不确定。原始问题使用的是Python 3.5(发布于2015年),因此不是Python的最近更改导致了错误。我没有测试过Python 2.7,但它对于import_module具有相同的签名,因此我怀疑您会得到相同的错误。 - Alasdair

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接