Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.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
Python 无法导入我的util模块_Python_Scikit Learn_Pickle_Joblib - Fatal编程技术网

Python 无法导入我的util模块

Python 无法导入我的util模块,python,scikit-learn,pickle,joblib,Python,Scikit Learn,Pickle,Joblib,我正在使用sklearn.externals.joblib将分类器模型持久化到磁盘,而磁盘实际上在较低级别使用pickle模块 我创建了一个名为stemedCountVectorizer的自定义CountVectorizer类,并将其保存在util.py中,然后在脚本中使用它来持久化模型 import util from sklearn.externals import joblib vect = util.StemmedCountVectorizer(stop_words='english

我正在使用
sklearn.externals.joblib
将分类器模型持久化到磁盘,而磁盘实际上在较低级别使用
pickle
模块

我创建了一个名为
stemedCountVectorizer
的自定义
CountVectorizer
类,并将其保存在
util.py
中,然后在脚本中使用它来持久化模型

import util

from sklearn.externals import joblib

vect = util.StemmedCountVectorizer(stop_words='english', ngram_range=(1,1))

bow = vect.fit_transform(sentences)

joblib.dump(vect, 'vect.pkl') 
这是我使用Flask的项目结构:

   |- sentiment/
     |- run.py
     |- my_app/
       |- analytic/
         |- views.py
         |- util. py
         |- vect.pkl
我使用
python run.py
运行应用程序,并尝试在
views.py
中使用
joblib.load
加载持久化对象,但它不起作用,我导入了
util
模块,但收到错误:

ImportError: No module named util

有人能给出解决办法吗?谢谢

看起来像是软件包/Python路径问题。系统需要知道在何处设置模块。在
我的应用程序
分析
文件夹中是否有
\uu init.py
文件将磁盘上的目录标记为Python包目录。结构应该是这样的

   |- sentiment/
     |- run.py
     |- my_app/
       |- __init__.py
       |- analytic/
         |- __init__.py
         |- views.py
         |- util. py
         |- vect.pkl
然后在
run.py
中,尝试使用导入

import my_app.analytic.utils

从my_app.analysis.utils导入
有关python包的详细信息,请检查。
请注意名称空间问题。

因此,这个问题与
pickle
模块未按标题所示找到没有任何关系。你的项目结构是什么样子的?我已经编辑了我的标题,所以现在我使用flask和通常的blueprint项目结构,util.py脚本与我的views.py在同一个目录中运行joblib.load()函数你的目录结构看起来像什么?我再次编辑了我的问题,如果我在独立脚本中运行代码,它会成功,但如果我从flask(使用内置服务器)运行,它会失败,thx回答,是的,我有init.py文件,一个在我的_app dir中,一个在analysis dir中,我完全按照你说的做,但它仍然不工作,我会不断得到相同的错误,如果你想在这里看到回溯,你有吗“E:\PROGRAMMING\python\projects\touction\”(您的项目路径)在你的PYTHONPATH中?由于回溯显示它是
pickle
找不到你的模块,我建议你试试。很抱歉迟到了,但你是对的,我在PYTHONPATH中添加了指定的路径它工作得很好,谢谢你的回答
初始化.py
文件中应该包含什么?
from my_app.analytic.utils import <yourClassName>