Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在将Django项目切换到Python 3.6时会出现ModuleNotFoundError?_Python_Django_Python 3.x - Fatal编程技术网

为什么在将Django项目切换到Python 3.6时会出现ModuleNotFoundError?

为什么在将Django项目切换到Python 3.6时会出现ModuleNotFoundError?,python,django,python-3.x,Python,Django,Python 3.x,我曾经运行过Python2,有一个完整的Django应用程序。我现在决定切换到Python3并使用3.6。当我尝试运行测试时,我现在得到以下堆栈跟踪: Traceback (most recent call last): File "/Users/jonathan/Work/GenettaSoft/modeling-web/modeling/manage.py", line 10, in <module> execute_from_command_line(sys.arg

我曾经运行过Python2,有一个完整的Django应用程序。我现在决定切换到Python3并使用3.6。当我尝试运行测试时,我现在得到以下堆栈跟踪:

Traceback (most recent call last):
  File "/Users/jonathan/Work/GenettaSoft/modeling-web/modeling/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/jonathan/anaconda/lib/python3.6/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
    utility.execute()
  File "/Users/jonathan/anaconda/lib/python3.6/site-packages/django/core/management/__init__.py", line 324, in execute
    django.setup()
  File "/Users/jonathan/anaconda/lib/python3.6/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/jonathan/anaconda/lib/python3.6/site-packages/django/apps/registry.py", line 115, in populate
    app_config.ready()
  File "/Users/jonathan/anaconda/lib/python3.6/site-packages/django/contrib/admin/apps.py", line 22, in ready
    self.module.autodiscover()
  File "/Users/jonathan/anaconda/lib/python3.6/site-packages/django/contrib/admin/__init__.py", line 26, in autodiscover
    autodiscover_modules('admin', register_to=site)
  File "/Users/jonathan/anaconda/lib/python3.6/site-packages/django/utils/module_loading.py", line 50, in autodiscover_modules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "/Users/jonathan/anaconda/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/jonathan/Work/GenettaSoft/modeling-web/modeling/licenses/admin.py", line 2, in <module>
    from models import LicenseModel
ModuleNotFoundError: No module named 'models'
回溯(最近一次呼叫最后一次):
文件“/Users/jonathan/Work/GenettaSoft/modeling web/modeling/manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/Users/jonathan/anaconda/lib/python3.6/site packages/django/core/management/_init__.py”,第350行,从命令行执行
utility.execute()
文件“/Users/jonathan/anaconda/lib/python3.6/site packages/django/core/management/_init__.py”,执行中的第324行
django.setup()
文件“/Users/jonathan/anaconda/lib/python3.6/site packages/django/__init__.py”,第18行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/Users/jonathan/anaconda/lib/python3.6/site packages/django/apps/registry.py”,第115行,填充
app_config.ready()
文件“/Users/jonathan/anaconda/lib/python3.6/site packages/django/contrib/admin/apps.py”,第22行,就绪
self.module.autodiscover()
文件“/Users/jonathan/anaconda/lib/python3.6/site packages/django/contrib/admin/_init__.py”,第26行,在自动发现中
自动发现模块('admin',register\u to=站点)
文件“/Users/jonathan/anaconda/lib/python3.6/site packages/django/utils/module_loading.py”,第50行,位于自动发现_模块中
导入模块(“%s.%s%”(app\u config.name,模块到搜索))
文件“/Users/jonathan/anaconda/lib/python3.6/importlib/_init__.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第978行,在_gcd_import中
文件“”,第961行,在“查找”和“加载”中
文件“”,第950行,在“查找”和“加载”中解锁
文件“”,第655行,已加载
exec_模块中第678行的文件“”
文件“”,第205行,在调用中删除了帧
文件“/Users/jonathan/Work/GenettaSoft/modeling web/modeling/licenses/admin.py”,第2行,在
从模型导入许可证模型
ModuleNotFoundError:没有名为“models”的模块

一些谷歌搜索首先让我想到了这一点,但我认为这些情况都不适用——毕竟,它在Python 2中运行得很好。接下来,我无意中发现了这一点,这让我确信我使用了
defusedxml==0.5.0
,但这并没有真正起到作用。更绝望的是,我尝试了这里所解释的东西,这对我来说没有真正意义,但也没有解决问题。所以现在我没有什么想法了,所以我在这里问你。发生了什么?我能做什么?

您是否尝试使用相对导入<代码>来自.models导入许可证model?哇,它只需要一个点——这是Python 3的新东西吗?不,它在py3中不是新东西,它也存在于py2中。
(dot)告诉python在本地包中查找模块,而不是在安装和存储所有第三方LIB的站点包中查找。里德:嗯,似乎在那之前它就没有那么挑剔了?是的,python3强制了显式的相对导入,以前它们是隐式的。见: