wfastcgi не может импортировать cx_Oracle, но `python -c "import cx_Oracle"завершается успешно
У меня есть настройка IIS с fastCGI, которая служит приложением для колб. Все идет нормально. Затем я хочу добавить подключение к базе данных, поэтому я добавляю строку import cx_Oracle
к моему приложению. Теперь эта ошибка выдается:
Error occurred while reading WSGI handler:
Traceback (most recent call last):
File "D:\Anaconda2\lib\site-packages\wfastcgi.py", line 791, in main
env, handler = read_wsgi_handler(response.physical_path)
File "D:\Anaconda2\lib\site-packages\wfastcgi.py", line 633, in read_wsgi_handler
handler = get_wsgi_handler(os.getenv("WSGI_HANDLER"))
File "D:\Anaconda2\lib\site-packages\wfastcgi.py", line 616, in get_wsgi_handler
raise ValueError('"%s" could not be imported%s' % (handler_name, last_tb))
ValueError: "Bloomberg_server.app" could not be imported:
Traceback (most recent call last):
File "D:\Anaconda2\lib\site-packages\wfastcgi.py", line 600, in get_wsgi_handler
handler = __import__(module_name, fromlist=[name_list[0][0]])
File "D:\website\init__.py", line 6, in import cx_Oracle
ImportError: DLL load failed: The specified module could not be found. StdOut: StdErr:
Как следует из названия, я не могу воспроизвести проблему в контролируемой среде. Тот же оператор импорта прекрасно работает в среде conda, и, кроме того, я могу отлично запустить сервер отладки Flask со страницами, которые зависят от соединения с базой данных.
Я в растерянности. У кого есть подсказка, что здесь происходит? Переменные path/oracle_home указывают на мгновенный клиент, и у меня установлена только одна среда python.
1 ответ
Я слишком смущен, чтобы признать, сколько времени это заняло у меня, но я нашел ответ. Основная задача FastCGI - поддерживать подпроцессы живыми, чтобы последующие обращения к серверу не требовали загрузки среды Python. Другими словами, после установки пакета python рекомендуется перезагрузить компьютер. Я решил свой первый вопрос о SO перезагрузкой..
Ответ на этот вопрос заставил меня задуматься в правильном направлении.