【发布时间】:2017-08-05 13:36:15
【问题描述】:
我有一个在 ipython 中运行的脚本,但是当我尝试从命令行运行相同的脚本时,我收到了我尝试导入的本地模块的导入错误:
from helper_functions.email_from_server import send_email
错误: ImportError:没有名为 helper_functions.email_from_server 的模块
这个脚本从 Ipython 中导入没有任何问题。
相比之下,我的代码在 ipython 中运行时没有任何问题,我可以使用以下命令运行另一个脚本: 运行脚本.py
我可以从命令行运行相同的脚本: python /dir/script.py
但是,此 python /dir/script.py 不适用于具有本地导入(从上面)的脚本,我无法确定它是 pythonpath 问题还是某些本地 env 问题?我一直在阅读堆栈以找到它,但到目前为止还没有。感觉就在拐角处
一个尝试的解决方案: PYTHONPATH=/dir/python /dir/script.py
编辑(帮助澄清): 我在 linux 机器上使用 anaconda 发行版。
【问题讨论】:
-
ipython 可能正在使用其他一些 python 可执行文件。所以也许你安装了 anaconda 并使用 ipython,但是 cmd 调用了一些 vanilla-python dist。但请再次阅读您的问题并检查您是否提供了足够的信息。您甚至没有告诉我们您使用的是什么操作系统。
-
你能告诉我们你得到的脚本和错误信息吗?在不知道您所看到的情况下,任何人都很难提供帮助
-
@sascha -- 感谢 cmets -- 编辑澄清
-
@SteelyDanish 请阅读minimal reproducible example 的构成要素——这不是一个。
-
@WayneWerner 谢谢 - 尝试根据这些标准进行重构
标签: python import environment-variables ipython pythonpath