这是我的python脚本:
!/usr/bin/python
import sys
import magic
m=magic.from_file('<file with absolute path goes here>')
print(m)
从命令行运行它:
$ python script.py
Microsoft Word 2007+
导致文件所在文档的 TYPE 输出。使用python-magic。
现在使用以下代码从scala运行相同的脚本:
import sys.process._
def compWithLibmagic(){
val result = "python /script.py" !
}
抛出以下错误:
Traceback (most recent call last):
File "script.py", line 3, in <module>
import magic
ImportError: No module named magic
PS:我在我的机器上安装了python 2.7和python 3.6,并且从命令行使用其中任何一个运行脚本运行得很好,所以我猜它们都正确地与MAGIC包捆绑在一起。 /强>
非常感谢任何帮助。
答案 0 :(得分:0)
我会尽力以最好的方式回答我自己的问题。
尝试使用python编译器 python2.7 从命令行执行script.py
时正在尝试从scala编译器调用相同的script.py
使用
import sys.process._
def compWithLibmagic(){
val result = "python /script.py" !
}
它正在使用 python3 ,而未被注意。我花了几天时间才弄明白这一点,最后我删除了所有的python2.7和python3库,并再次安装了python 2.7。