【发布时间】:2015-04-10 04:54:12
【问题描述】:
当我尝试从 PyCharm IDE 运行我的程序时,一切正常,但如果我输入 Fedora:
python myScript.py
在 shell 提示中,我从模块的 1 中得到一个导入错误。
ImportError : No modue named myDependency
PyCharm 做了什么来让解释器在从 IDE 启动时找到我的依赖项?如何让我的脚本找到它的依赖项,以便可以使用单个命令启动它?
【问题讨论】:
当我尝试从 PyCharm IDE 运行我的程序时,一切正常,但如果我输入 Fedora:
python myScript.py
在 shell 提示中,我从模块的 1 中得到一个导入错误。
ImportError : No modue named myDependency
PyCharm 做了什么来让解释器在从 IDE 启动时找到我的依赖项?如何让我的脚本找到它的依赖项,以便可以使用单个命令启动它?
【问题讨论】:
有几种可能的原因:
import sys; print(sys.executable)
import os; print(os.getcwd())
sys.path(python 按顺序搜索导入位置的列表)中的差异可能是由环境变量引起的。请与import sys; print(sys.path) 联系。 【讨论】:
添加这个对我有用:
from os import sys, path
sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
【讨论】:
作为第一步,在 PyCharm 中转到项目设置/python 解释器,并记下路径。然后将其与which python 的结果进行比较——他们排队吗?如果没有,您需要让他们这样做。
如果没问题,请检查 PyCharm 在项目设置/项目结构中定义为项目根的内容。那是你的脚本所在的目录吗?如果没有,您应该从该目录运行脚本或将该目录附加到$PYTHONPATH 变量。
几乎可以肯定,这是这两件事之一。
【讨论】:
您可能在 Pycharm 中为模块 myDependency 设置了一些项目依赖项。 您可以在 Fedora 中通过显式导入模块或创建该模块的 egg 并安装它来访问它。 然后,这将转到 python 站点包,您可以从中引用此依赖项。
【讨论】: