Python Travis上的Django错误:RuntimeError:populate()不是';t重入
我正在维护一个项目,Travis CI实施,从一天开始。我所有的构建开始失败,而我没有接触任何东西或任何依赖更新 我想特拉维斯改变了什么,我试着去调查,但老实说我没有线索 如果我运行一个以前的版本,它运行得非常好,那么现在每当我调用Python Travis上的Django错误:RuntimeError:populate()不是';t重入,python,django,continuous-integration,travis-ci,Python,Django,Continuous Integration,Travis Ci,我正在维护一个项目,Travis CI实施,从一天开始。我所有的构建开始失败,而我没有接触任何东西或任何依赖更新 我想特拉维斯改变了什么,我试着去调查,但老实说我没有线索 如果我运行一个以前的版本,它运行得非常好,那么现在每当我调用python manage.py###### $python manage.py collectstatic--noinput 回溯(最近一次呼叫最后一次): 文件“manage.py”,第35行,在 从命令行(sys.argv)执行命令 文件“/home/travi
python manage.py######
$python manage.py collectstatic--noinput
回溯(最近一次呼叫最后一次):
文件“manage.py”,第35行,在
从命令行(sys.argv)执行命令
文件“/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/django/core/management/_-init___;.py”,第381行,从命令行执行
utility.execute()
文件“/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/django/core/management/_-init__;.py”,执行中第357行
django.setup()
文件“/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/django/_-init__.py”,第24行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/home/travis/virtualenv/python3.6.3/lib/python3.6/site packages/django/apps/registry.py”,第81行,填充
raise RUNTIMERROR(“填充()不可重入”)
运行时错误:populate()不可重入
顺便说一下,我得到了与Python3.6和3.5完全相同的错误
$ python manage.py collectstatic --noinput
Traceback (most recent call last):
File "manage.py", line 35, in <module>
execute_from_command_line(sys.argv)
File "/home/travis/virtualenv/python3.5.6/lib/python3.5/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/home/travis/virtualenv/python3.5.6/lib/python3.5/site-packages/django/core/management/__init__.py", line 357, in execute
django.setup()
File "/home/travis/virtualenv/python3.5.6/lib/python3.5/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/travis/virtualenv/python3.5.6/lib/python3.5/site-packages/django/apps/registry.py", line 81, in populate
raise RuntimeError("populate() isn't reentrant")
RuntimeError: populate() isn't reentrant
$python manage.py collectstatic--noinput
回溯(最近一次呼叫最后一次):
文件“manage.py”,第35行,在
从命令行(sys.argv)执行命令
文件“/home/travis/virtualenv/python3.5.6/lib/python3.5/site packages/django/core/management/_init___;.py”,第381行,从命令行执行
utility.execute()
文件“/home/travis/virtualenv/python3.5.6/lib/python3.5/site packages/django/core/management/_init___;.py”,第357行,执行
django.setup()
文件“/home/travis/virtualenv/python3.5.6/lib/python3.5/site-packages/django/_-init__.py”,第24行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/home/travis/virtualenv/python3.5.6/lib/python3.5/site packages/django/apps/registry.py”,第81行,填充
raise RUNTIMERROR(“填充()不可重入”)
运行时错误:populate()不可重入
当然,这个问题不可能在我自己的机器上重现。。。当地的情况很好
其他信息: 如果我采用以前的版本,并且该版本已经通过,没有任何问题: 链接: 我决定重新启动构建,因为你可以看到构建现在由于一个模糊的原因失败了
你知道如何解决这个问题吗 local和travis之间有什么区别?例如,您是否在每个数据库上使用不同类型的数据库?对我来说,它们看起来非常相似。相同的包版本,相同的python版本。。。同样的数据库版本。。。不知怎的,Django由于未知原因失败了…每个环境都有单独的设置文件吗?绝对没有,代码库是相同的。顺便说一句,如果你想看一看,我很确定错误是在特拉维斯方面,以前的构建工作完美,现在失败,如果我重新启动他们。。。那对我来说毫无意义
$ python manage.py collectstatic --noinput
Traceback (most recent call last):
File "manage.py", line 35, in <module>
execute_from_command_line(sys.argv)
File "/home/travis/virtualenv/python3.5.6/lib/python3.5/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/home/travis/virtualenv/python3.5.6/lib/python3.5/site-packages/django/core/management/__init__.py", line 357, in execute
django.setup()
File "/home/travis/virtualenv/python3.5.6/lib/python3.5/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/travis/virtualenv/python3.5.6/lib/python3.5/site-packages/django/apps/registry.py", line 81, in populate
raise RuntimeError("populate() isn't reentrant")
RuntimeError: populate() isn't reentrant