Pyximport 构建错误
Pyximport build errors
现在我正在尝试编译 运行 Deep Q Learning。除了与 pyximport 相关的一个问题外,我已经设置好一切并正常工作。
在ale_data_set.py, it imports pyximport to compile shift.pyx。我收到的错误:
ImportError: Building module shift failed: ['ImportError: DLL load
failed: A dynamic link library (DLL) initialization routine failed.\n']
当我 运行 ale_data_set.py
顶部的行时,我得到同样的错误:
import numpy as np
import pyximport; pyximport.install()
import shift
问题是,有时我可以得到它 运行 import shift 就好了。有时我可以 reload(pyximport)
,然后调用 pyximport.install()
和 import shift
就好了。其他时候它不起作用。
对我来说有趣的是,有时它不起作用,当我退出时(通过 control-c),我得到这个:
Exception KeyboardInterrupt in <module 'threading' from 'C:\SciSoft
\WinPython-64bit-2.7.9.3\python-2.7.9.amd64\Lib\threading.pyc'> ignored
这似乎告诉我它还在后台编译,或者至少线程没有返回。对我来说,有时它起作用,我只是碰巧在它完成编译后调用 import shift
。
有谁知道这可能是什么原因造成的?
如果这只是一个线程问题,有没有办法让我从编译 shift
中获取线程,这样我就可以 wait
了?
编辑:我也试过设置 numpy include_dirs
但没有帮助。
我还检查以确保路径中没有空格,GCC 在 PATH 中,并且还安装了 MS 编译器。
所以我仍然不确定为什么在调用 pyximport
后它没有正确导入,但我确实注意到 shift.pyd
似乎正在正确创建。因此,我获取了文件(在构建输出目录中)并将其复制到 *PythonDir*/Lib/site-packages
。我现在可以只调用 import shift
而无需使用 pyximport
,它似乎工作得很好。
现在我正在尝试编译 运行 Deep Q Learning。除了与 pyximport 相关的一个问题外,我已经设置好一切并正常工作。
在ale_data_set.py, it imports pyximport to compile shift.pyx。我收到的错误:
ImportError: Building module shift failed: ['ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.\n']
当我 运行 ale_data_set.py
顶部的行时,我得到同样的错误:
import numpy as np
import pyximport; pyximport.install()
import shift
问题是,有时我可以得到它 运行 import shift 就好了。有时我可以 reload(pyximport)
,然后调用 pyximport.install()
和 import shift
就好了。其他时候它不起作用。
对我来说有趣的是,有时它不起作用,当我退出时(通过 control-c),我得到这个:
Exception KeyboardInterrupt in <module 'threading' from 'C:\SciSoft
\WinPython-64bit-2.7.9.3\python-2.7.9.amd64\Lib\threading.pyc'> ignored
这似乎告诉我它还在后台编译,或者至少线程没有返回。对我来说,有时它起作用,我只是碰巧在它完成编译后调用 import shift
。
有谁知道这可能是什么原因造成的?
如果这只是一个线程问题,有没有办法让我从编译 shift
中获取线程,这样我就可以 wait
了?
编辑:我也试过设置 numpy include_dirs
但没有帮助。
我还检查以确保路径中没有空格,GCC 在 PATH 中,并且还安装了 MS 编译器。
所以我仍然不确定为什么在调用 pyximport
后它没有正确导入,但我确实注意到 shift.pyd
似乎正在正确创建。因此,我获取了文件(在构建输出目录中)并将其复制到 *PythonDir*/Lib/site-packages
。我现在可以只调用 import shift
而无需使用 pyximport
,它似乎工作得很好。