我有一个使用 sklearn joblib 加载持久模型并执行预测的 python 脚本。当我在我的用户名下运行脚本时,脚本运行良好,当其他用户尝试运行相同的脚本时,他们收到错误“ImportError:没有名为 numpy_pickle 的模块”
我还将脚本复制到另一个用户主目录并从那里运行它仍然是同样的错误,我也从 python shell 运行它并且没有任何改变。这是我在 Python shell 中运行的内容:
from sklearn.externals import joblib
joblib.load("model_filename.pkl")
上面的第二行在我的用户名下工作,并在所有其他用户下给出以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.7/joblib/numpy_pickle.py", line 424, in load
obj = unpickler.load()
File "/usr/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 1090, in load_global
klass = self.find_class(module, name)
File "/usr/lib/python2.7/pickle.py", line 1124, in find_class
__import__(module)
ImportError: No module named numpy_pickle
这一切都在运行一台带有 Ubuntu 14.04.1 LTS 的服务器。
任何想法为什么会发生这种情况?
谢谢