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 перезагрузкой..

Ответ на этот вопрос заставил меня задуматься в правильном направлении.

Другие вопросы по тегам