ImportError:在 vscode 中使用导入 syft 导入 lib 时 DLL 加载失败

Posted

技术标签:

【中文标题】ImportError:在 vscode 中使用导入 syft 导入 lib 时 DLL 加载失败【英文标题】:ImportError: DLL load failed while importing lib with importing syft in vscode 【发布时间】:2021-11-12 13:24:50 【问题描述】:

我使用 conda 和 python 3.9.7 创建一个新环境 (my_syft env) 并安装 syft 0.5.0。

然后我检查了我的模块的安装,似乎安装正确通过了

C:\Users\tamir>conda activate my_syft_env
        
(my_syft_env) C:\Users\tamir>python
Python 3.9.7 (default, Sep 16 2021, 16:59:28) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on 
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import syft
>>>
>>> import sys
>>> print(sys.executable)
C:\Users\tamir\anaconda3\envs\my_syft_env\python.exe
>>> 

然后在 VScode 中尝试运行并检查我的模块并选择当前环境 C:\Users\tamir\anaconda3\envs\my_syft_env\python.exe

import syft
print("hellow")

但报错

Traceback (most recent call last):
  File "c:\Users\tamir\Desktop\TAMIR\pyton vscode\federated.py", line 1, in <module>
    import syft
  File "C:\Users\tamir\anaconda3\lib\site-packages\syft\__init__.py", line 48, in <module>
    from syft.core.node.device.device import Device  # noqa: F401
  File "C:\Users\tamir\anaconda3\lib\site-packages\syft\core\node\device\__init__.py", line 2, in <module>
    from .client import DeviceClient
  File "C:\Users\tamir\anaconda3\lib\site-packages\syft\core\node\device\client.py", line 16, in <module>
    from ..common.client import Client
  File "C:\Users\tamir\anaconda3\lib\site-packages\syft\core\node\common\client.py", line 18, in <module>
    from ....lib import create_lib_ast
  File "C:\Users\tamir\anaconda3\lib\site-packages\syft\lib\__init__.py", line 28, in <module>
    from ..lib.torch import create_torch_ast
  File "C:\Users\tamir\anaconda3\lib\site-packages\syft\lib\torch\__init__.py", line 12, in <module>
    from . import parameter  # noqa: 401
  File "C:\Users\tamir\anaconda3\lib\site-packages\syft\lib\torch\parameter.py", line 9, in <module>
    from ...lib.torch.tensor_util import tensor_deserializer
  File "C:\Users\tamir\anaconda3\lib\site-packages\syft\lib\torch\tensor_util.py", line 2, in <module>
    import pyarrow as pa
  File "C:\Users\tamir\anaconda3\lib\site-packages\pyarrow\__init__.py", line 63, in <module>
    import pyarrow.lib as _lib
ImportError: DLL load failed while importing lib: The specified procedure could not be found.

不知道为什么会出错。

【问题讨论】:

【参考方案1】:

我可能迟到了,但套用this thread,您可能已经从默认的 conda 通道安装了 libboostboost-cpp。请尝试以下操作:

conda install libboost boost-cpp -c conda-forge 如果在 Windows 计算机上,请确保您有 Visual C++ Redistributables 2019 或更高版本。 查看 pip 版本的 pyarrow 是否有效。

【讨论】:

以上是关于ImportError:在 vscode 中使用导入 syft 导入 lib 时 DLL 加载失败的主要内容,如果未能解决你的问题,请参考以下文章

vscode markdown思维导图插件

ImportError: No module named 'tkinter'

开源工具将 Markdown 转为脑图,还支持 VSCode 和 Vim

程序员常用笔记与思维导图工具

VSCode 上的 pipenv shell 返回 WSAStartup failed: error code 10107

如何阻止从不应该的文件夹导入vscode typescript文件?