由于属性错误,在 cython 中导入日志记录模块失败
Importing logging module in cython fails due to attribute error
I am running everything on bash on windows
这就是我正在做的。
我有一个 model.py
文件,我正在尝试使用 cython
对其进行优化。我复制了这个文件并将副本重命名为 model.pyx
。我在这个新的 pyx 文件中添加了一堆导入。新文件看起来像这样:
import pyximport
pyximport.install(pyimport=True)
import cython
cimport cython
import numpy as np
cimport numpy as np
import logging
import time
DTYPE = np.float64
ctypedef np.float64_t DTYPE_t
...
现在,我使用标准 setup.py
方法将其编译为 .so 文件,该方法提供了 model.so
。现在,当我尝试在新的 python 脚本中使用此模型时,出现以下错误:
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 419, in load_module
return load_module(fullname, source_path, so_path=so_path, is_package=is_package)
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 233, in load_module
exec("raise exc, None, tb", {'exc': exc, 'tb': tb})
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 216, in load_module
mod = imp.load_dynamic(name, so_path)
File "__init__.py", line 77, in init logging.__init__
ImportError: Building module logging failed: ["AttributeError: 'NoneType' object has no attribute 'co_filename'\n"]
我不确定我哪里出错了。我在 google 上搜索了很多,但找不到任何人遇到相同或相似的错误。感谢任何帮助!
不要在 .pyx 文件中使用 pyximport。 pyximport 用于导入 cython 模块的 Python 文件,请参阅 documentation of Cython.
I am running everything on bash on windows
这就是我正在做的。
我有一个 model.py
文件,我正在尝试使用 cython
对其进行优化。我复制了这个文件并将副本重命名为 model.pyx
。我在这个新的 pyx 文件中添加了一堆导入。新文件看起来像这样:
import pyximport
pyximport.install(pyimport=True)
import cython
cimport cython
import numpy as np
cimport numpy as np
import logging
import time
DTYPE = np.float64
ctypedef np.float64_t DTYPE_t
...
现在,我使用标准 setup.py
方法将其编译为 .so 文件,该方法提供了 model.so
。现在,当我尝试在新的 python 脚本中使用此模型时,出现以下错误:
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 419, in load_module
return load_module(fullname, source_path, so_path=so_path, is_package=is_package)
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 233, in load_module
exec("raise exc, None, tb", {'exc': exc, 'tb': tb})
File "/usr/local/lib/python2.7/dist-packages/pyximport/pyximport.py", line 216, in load_module
mod = imp.load_dynamic(name, so_path)
File "__init__.py", line 77, in init logging.__init__
ImportError: Building module logging failed: ["AttributeError: 'NoneType' object has no attribute 'co_filename'\n"]
我不确定我哪里出错了。我在 google 上搜索了很多,但找不到任何人遇到相同或相似的错误。感谢任何帮助!
不要在 .pyx 文件中使用 pyximport。 pyximport 用于导入 cython 模块的 Python 文件,请参阅 documentation of Cython.