重命名的 Django 目录根目录 - 导入错误:无法从'platform'导入名称'python_implementation'



我使用Pycharm重构函数重命名了我的项目和目录,现在它坏了。我改变了我能找到的所有依赖项,但这个错误似乎有一些奇怪的地方,我绝对无法弄清楚。错误消息:

Traceback (most recent call last):
File "C:/Users/user1/Projects/platform_back/manage.py", line 21, in <module>
main()
File "C:/Users/user1/Projects/platform_back/manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "C:Usersuser1Projectsplatform_backvenvlibsite-packagesdjangocoremanagement__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:Usersuser1Projectsplatform_backvenvlibsite-packagesdjangocoremanagement__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:Usersuser1Projectsplatform_backvenvlibsite-packagesdjangocoremanagement__init__.py", line 244, in fetch_command
klass = load_command_class(app_name, subcommand)
File "C:Usersuser1Projectsplatform_backvenvlibsite-packagesdjangocoremanagement__init__.py", line 37, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "C:Usersuser1AppDataLocalProgramsPythonPython37libimportlib__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 "C:Usersuser1Projectsplatform_backvenvlibsite-packagesdjangocontribstaticfilesmanagementcommandsrunserver.py", line 3, in <module>
from django.core.management.commands.runserver import (
File "C:Usersuser1Projectsplatform_backvenvlibsite-packagesdjangocoremanagementcommandsrunserver.py", line 10, in <module>
from django.core.servers.basehttp import (
File "C:Usersuser1Projectsplatform_backvenvlibsite-packagesdjangocoreserversbasehttp.py", line 14, in <module>
from wsgiref import simple_server
File "C:Usersuser1AppDataLocalProgramsPythonPython37libwsgirefsimple_server.py", line 17, in <module>
from platform import python_implementation
ImportError: cannot import name 'python_implementation' from 'platform' (C:Usersuser1Projectsplatform_backplatform__init__.py)

它似乎是从虚拟环境之外调用目录,但我不明白这是有意还是无意。

init.py:

from .dev import *

dev.py:

from .settings import *
DEBUG = True
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
MIDDLEWARE.append('debug_toolbar.middleware.DebugToolbarMiddleware')
INSTALLED_APPS.append('debug_toolbar')
INTERNAL_IPS = ('127.0.0.1', 'localhost')

我知道我可能只是用一个新名字重新创建整个应用程序,但我觉得这里有一个教训。非常感谢任何帮助

您不能调用您的项目platform–这是此内置模块保留的名称。

回溯的最后几行,

File "wsgirefsimple_server.py", line 17, in <module>
from platform import python_implementation
ImportError: cannot import name 'python_implementation' 
from 'platform' (C:Usersuser1Projectsplatform_backplatform__init__.py)

wsgiref,WSGi服务器实现模块(也是内置的(,尝试导入platform.python_implementation(),但由于您的模块也称为platform,因此此操作失败。

如果重命名目录,还应该更改manage.pywsgi.py导入。这些文件很可能仍在查看旧的导入文件。

最新更新