部署Flask应用时Azure认知服务依赖DLL文件存在却提示找不到的问题求助
部署Flask应用时Azure认知服务依赖DLL文件存在却提示找不到的问题求助
我有一个用Flask开发的应用,在本地机器上运行完全正常,现在我想把它部署到服务器上让其他人可以访问。我已经安装了所有需要的包,并且确认了所有包的版本都和本地环境一致。
看起来一切都没问题,但当我尝试运行应用时,抛出了如下错误:
C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning) Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\flask\__main__.py", line 3, in <module> main() ~~~~^^ File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\flask\cli.py", line 1129, in main cli.main() ~~~~~~~~^^ File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\click\core.py", line 1082, in main rv = self.invoke(ctx) File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\click\core.py", line 1697, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\click\core.py", line 1443, in invoke return ctx.invoke(self.callback, **ctx.params) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\click\core.py", line 788, in invoke return __callback(*args, **kwargs) File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\click\decorators.py", line 92, in new_func return ctx.invoke(f, obj, *args, **kwargs) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\click\core.py", line 788, in invoke return __callback(*args, **kwargs) File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\flask\cli.py", line 977, in run_command raise e from None File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\flask\cli.py", line 961, in run_command app: WSGIApplication = info.load_app() # pyright: ignore ~~~~~~~~~~~~~^^ File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\flask\cli.py", line 349, in load_app app = locate_app(import_name, name) File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\flask\cli.py", line 245, in locate_app __import__(module_name) ~~~~~~~~~~^^^^^^^^^^^^^ File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\src\app.py", line 12, in <module> import job_manager File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\src\job_manager.py", line 5, in <module> import manager File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\src\manager.py", line 6, in <module> from audio.transcriber import recognize_from_file File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\src\audio\transcriber.py", line 4, in <module> import azure.cognitiveservices.speech as speechsdk File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\azure\cognitiveservices\speech\__init__.py", line 8, in <module> from .speech import * File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\azure\cognitiveservices\speech\speech.py", line 13, in <module> from .interop import ( _CallbackContext, _Handle, LogLevel, _c_str, _call_bool_fn, _call_hr_fn, _sdk_lib, _spx_handle, max_uint32, _call_string_function_and_free, _trace_message, _unpack_context) File "C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\azure\cognitiveservices\speech\interop.py", line 20, in <module> _sdk_lib = load_library.LoadLibrary(lib_path) File "C:\Users\Sparapan.F\AppData\Local\Programs\Python\Python313\Lib\ctypes\__init__.py", line 471, in LoadLibrary return self._dlltype(name) ~~~~~~~~~~~~~^^^^^^ File "C:\Users\Sparapan.F\AppData\Local\Programs\Python\Python313\Lib\ctypes\__init__.py", line 390, in __init__ self._handle = _dlopen(self._name, mode) ~~~~~~~^^^^^^^^^^^^^^^^^^ FileNotFoundError: Could not find module 'C:\Users\Sparapan.F\Desktop\Scripts\Trascrittore\Tutto\trasc_env\Lib\site-packages\azure\cognitiveservices\speech\Microsoft.CognitiveServices.Speech.core.dll' (or one of its dependencies). Try using the full path with constructor syntax.
奇怪的是,错误提示中说找不到的那个DLL文件,实际上确实存在于指定的文件夹里,我现在不知道该怎么办了。
我已经尝试过以下方法:
- 卸载并重新安装Azure认知服务包
- 检查Python和系统版本(都是64位)
- 重启系统
备注:内容来源于stack exchange,提问作者Federicofkt
相关产品推荐
相关产品推荐

