系统调用的行号影响python WindowsError:[错误126]

时间:2016-05-03 18:36:42

标签: python c++

我有一个非常奇怪的问题。我有一个项目依赖于Python脚本作为最后一步"步骤"在节目结束之前。要做到这一点,我认为system()就足够了,尽管其安全性声誉不佳。以下将最好地说明问题:

不工作,以及我需要它的工作方式:

/*Script produces traceback, but this is how I need it*/
int main(int argc, char* argv[])
{
  ...Lots of code...
  string path_to_python_script = ....
  system(path_to_python_script);
}

但可笑的是,这有效:

/*Script works here, but would break my program*/
int main(int argc, char* argv[])
{
  string path_to_python_script = ....
  system(path_to_python_script);
  ..lots of code...
}

上面system()次调用的位置是唯一发生变化的地方。我的程序中的lots of code不会以任何方式更改文件系统。

由于无法找到.pynative文件夹而引起的回溯,尽管它在上面的示例中发现它很好。 :

File "./ocropus-gpageseg", line 22, in <module>
import ocrolib
File "C:\Users\...\ocrolib\__init__.py", line 12, in <module>
from common import *
File "C:\Users\...\ocrolib\common.py", line 18, in <module>
import lstm
File "C:\Users\...\ocrolib\lstm.py", line 32, in <module>
import nutils
File "C:\Users\...\ocrolib\nutils.py", line 25, in <module>
lstm_native = compile_and_load(lstm_utils)
File "C:\Users\...\ocrolib\native.py", line 68, in compile_and_load
return ctypes.CDLL(path)
File "C:\Python27\lib\ctypes\__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found

0 个答案:

没有答案