我正试图使用subprocess.call
从铁制python脚本调用python 2.7脚本。
调用的进程使用IronPython中不支持的导入,如scikit-learn
和requests
。
当前,我正试图使用以下命令调用Python2.7脚本:
sub_ret_val = subprocess.call("C:/Documents and Settings/avishay/workspace/BursaProject_V1_31/brainManager_toFile.py", shell = True, stderr = subprocess.STDOUT)
但我得到:
LookupError: unknown encoding: idna
现在,如果我从WindowsShell或EclipsePydev环境运行这个脚本,它可以正常工作。从shell运行它和从subprocess.call
运行它导致失败有什么区别??
谢谢
---编辑---
似乎我也无法导入encodings.idna:
ImportError: No module named idna
这很奇怪。。。
打印sys.path
显示c:\\Python27\\Lib
在那里,并且idna.py文件在编码目录中。。。怎么进口不起作用???
---再编辑一次---
我找到了一种解决问题的方法——从python外壳启动IronPython脚本——一切都很好。我仍然不知道为什么从IronPython调用python 2.7解释器会干扰python2.7内部模块。。。PYTHONPATH确实包含了这些模块的路径,因此我非常感谢您对引擎盖下发生的事情有任何深入的了解。
目前没有回答
相关问题 更多 >
编程相关推荐