使用Atom时没有名为email_preprocess error的模块

2024-05-19 03:20:17 发布

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

我目前在使用Atom运行python代码时遇到了一些困难,否则通过命令提示符启动时就可以正常工作了。对于那些不熟悉Udacity的机器学习介绍的人,“电子邮件预处理”模块位于“…\naivey_bayes\tools”目录中。在

代码:

import sys
from time import time
sys.path.append("../tools/")
from email_preprocess import preprocess

每当我运行 作者_身份证使用以下命令通过命令提示符进行文件:

^{pr2}$

D:\Misiek\Pulpit\python\ud120 projects master\naivey_bayes目录中,它可以正常工作。但是,如果你想运行_身份证通过Atom文件(使用Atom runner),我收到错误消息:

Traceback (most recent call last):
  File "D:\Misiek\Pulpit\python\ud120-projects-master\naive_bayes\nb_author_id.py", line 17, in <module>
    from email_preprocess import preprocess
ImportError: No module named email_preprocess

你知道为什么它是通过命令提示符而不是通过Atom运行的吗?在


Tags: 文件代码fromimport目录timeemailsys
2条回答

将该目录添加到PYTHONPATH环境变量中,这样就不必从同一目录导入它。通过添加D:\Misiek\Pulpit\python\ud120-projects-master\naive_bayes;将该目录追加到末尾

Editing System PYTHONPATH

最好不要在sys.path中使用相对路径。你永远不知道程序运行时的当前目录是什么。最有可能的是,从Atom运行时,当前目录不是从命令行运行时所在的位置。在

如果需要相对于要从中导入模块的目录来定位模块,请尝试以下方法(按列出的顺序)查找并将其添加到搜索路径公司名称:

  • myfile = globals().get("__file__")(这将从导入的模块或主程序中工作,如果它是通过IDE加载的,或者通过除直接从命令行以外的任何其他方式加载的)。如果这返回一个值,请将os.path.dirnme(myfile)(或它的派生值,根据需要)添加到路径中。在
  • os.path.dirname(sys.argv[0])(这只适用于主模块)

相关问题 更多 >

    热门问题