Прежде всего, я видел все потоки SO, связанные с проблемой error populate() isn't reentrant
, но проблема, с которой я сталкиваюсь, отличается среди них.
Вещи, которые я хочу очистить в первую очередь:
- Мое приложение Django отлично работает на IIS Server , только мое приложение зарегистрировано в
INSTALLED_APPS
в settings.py
проекта.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'MyDjangoWebApp.app',]
Когда я добавляю новое приложение в мой INSTALLED_APPS
в settings.py
проекта, оно отлично работает в Django Локальный сервер (например, сервер, созданный и размещенный на Pycharm)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Busisoft_Document_Extraction_Web.app',
// Newly added app which I installed through PIP
'widget_tweaks']
3. Но когда я размещаю один и тот же проект с IIS-сервера , он дает мне
Error occurred while reading WSGI handler:
Traceback (most recent call last):
File "c:\server\MyDjangoWebApp\wfastcgi.py", line 791, in main
env, handler = read_wsgi_handler(response.physical_path)
File "c:\server\MyDjangoWebApp\wfastcgi.py", line 633, in
read_wsgi_handler
handler = get_wsgi_handler(os.getenv("WSGI_HANDLER"))
File "c:\server\MyDjangoWebApp\wfastcgi.py", line 605, in
get_wsgi_handler
handler = handler()
File "c:\server\MyDjangoWebApp\venv\lib\site-
packages\django\core\wsgi.py", line 12, in get_wsgi_application
django.setup(set_prefix=False)
File "c:\server\MyDjangoWebApp\venv\lib\site-
packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "c:\server\MyDjangoWebApp\venv\lib\site-
packages\django\apps\registry.py", line 81, in populate
raise RuntimeError("populate() isn't reentrant")
RuntimeError: populate() isn't reentrant
StdOut:
StdErr:
Интересно, что если яудалить это дополнительное приложение IIS работает отлично.
My web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="DjangoIISHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="c:\server\MyDjangoWebApp\venv\Scripts\python.exe|c:\server\MyDjangoWebApp\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
</handlers>
</system.webServer>
<appSettings>
<add key="PYTHONPATH" value="c:\server\MyDjangoWebApp" />
<add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
<add key="WSGI_LOG" value="c:\server\MyDjangoWebApp\wfastcgi.log" />
<add key="DJANGO_SETTINGS_MODULE" value="Busisoft_Document_Extraction_Web.settings" />
<add key="WSGI_RESTART_FILE_REGEX" value=".*((\.py)|(\.config))$" />
</appSettings>
My System Configuration
- Windows 10
- IIS Server 10
- Python 3.5 (32-разрядный)
- Django 2.1.7