【发布时间】:2018-05-10 17:04:59
【问题描述】:
我正在使用 PyCharm。我在以下位置有一个 python 脚本:
C:\Users\XYZ\PycharmProjects\Project1\playground.py
playground.py只有一行代码如下图:
import PyTbl
在Project1 文件夹中还有另一个文件:
C:\Users\XYZ\PycharmProjects\Project1\PyTbl.pyd
当我运行 Python 脚本 playground.py 时,我收到以下错误:
ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File "C:/Users/XYZ/PycharmProjects/Project1/playground.py", line 1, in <module>
import PyTbl
SystemError: initialization of PyTbl raised unreported exception
如果我在 PyCharm 编辑器中将鼠标悬停在 playground.py 中的 Python 代码行上,我会收到以下错误消息:
"No module named PyTbl"
知道如何将.pyd 文件导入 Python 脚本吗?
【问题讨论】:
-
一个.pyd python文件基本上是一个windows dll文件,我认为你不能因此导入它(它是编译的python代码)。我不确定这个文件包含什么,如果它需要被编译成可读的 python,但你可以尝试将扩展名更改为 .py 而不是 .pyd。
-
您的目录中有
__init__.py文件吗?这是一个空文件,用于导入不在默认库中的 .py 文件。 -
您的导入语句是正确的。这就是您导入
.pyd文件的方式。但它不是 Python,它是目标代码,可能最初是 C。如果 DLL 没有加载,那通常是因为 (1) 它试图加载另一个丢失或找不到的 DLL;或 (2) 您拥有 32 位系统,而您的代码正试图加载 64 位 DLL,或者反之亦然。 -
@NaruS:是的,我的目录中也有
__init__.py。
标签: python windows pycharm pyd