Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从scala执行python脚本时出现错误,而从命令行运行相同的脚本不会导致错误_Python_Python 2.7_Scala_Python 3.x_Python Magic - Fatal编程技术网

从scala执行python脚本时出现错误,而从命令行运行相同的脚本不会导致错误

从scala执行python脚本时出现错误,而从命令行运行相同的脚本不会导致错误,python,python-2.7,scala,python-3.x,python-magic,Python,Python 2.7,Scala,Python 3.x,Python Magic,这是我的python脚本: !/usr/bin/python import sys import magic m=magic.from_file('<file with absolute path goes here>') print(m) 结果输出文件所在文档的类型。使用python魔术 现在使用下面的代码从scala运行相同的脚本: import sys.process._ def compWithLibmagic(){ val result =

这是我的python脚本:

!/usr/bin/python
   import sys
   import magic
   m=magic.from_file('<file with absolute path goes here>')
   print(m)
结果输出文件所在文档的类型。使用python魔术

现在使用下面的代码从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
回溯(最近一次呼叫最后一次):
文件“script.py”,第3行,在
进口魔术
导入错误:没有名为magic的模块
PS:我的机器上同时安装了python 2.7和python 3.6,并且使用它们中的任何一个运行脚本都可以从命令行正常运行,因此我猜它们都正确地与MAGIC软件包捆绑在一起。


非常感谢您的帮助。

我会尽量用最好的方式回答我自己的问题

当我试图使用python编译器从命令行执行
script.py
时,正在使用python2.7
,当我试图使用

从scala编译器调用相同的
script.py

import sys.process._
def compWithLibmagic(){
    val result = "python /script.py" !
}



它使用的是python3,而没有被注意到。我花了几天时间才真正弄明白这一点,最后我删除了所有的python2.7和python3库,并再次安装了python2.7,它工作得很好。

当您从不同的文件夹运行
python/Users/Bhat/Documents/Spark/script.py时会发生什么?运行得很好。。
import sys.process._
def compWithLibmagic(){
    val result = "python /script.py" !
}