ImportError:从其他Python scrip调用时没有名为xmltodict的模块

2024-09-21 03:02:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个奇怪的问题。

我在Py2.7上,从python脚本调用py文件。下面是我的代码

呼叫者.py

import os
import subprocess    
filename = 'file.py'

data = 'aXD'
output = subprocess.check_output(['python', filename,data], shell=False)

文件.py

import sys
import os
import xmltodict

args = sys.argv
xml = args[1].strip('\n')
xml = xml.strip()
pid = str(os.getpid())
result = {'msg':'ok',"pid":pid}
print(result)

它给出了错误:

    import xmltodict
ImportError: No module named xmltodict
Traceback (most recent call last):

模块就在那里,因为单独执行时文件运行得很好。


Tags: 文件pyimportoutputdataossysargs
3条回答

在Python路径中添加“current directory”,这样它就能在主程序旁边的目录中找到模块

import sys
sys.path.append('.')

作为回答,而不是在注释中->;问题是您安装了多个python解释器,并且您得到的解释器与通过subprocess.check_output启动它时预期的不同。您应该这样更改调用来解决这个问题:

output = subprocess.check_output([sys.executable, filename,data], shell=False)

这将至少确保两个脚本由同一个解释器运行。

这个问题可以通过以下简单的方式解决: 使用“pip”-python包管理器 $ sudo pip install xmltodict

这将安装丢失的模块,您不应该有这个模块的问题。

相关问题 更多 >

    热门问题