脚本在PyCharm中运行,但不是从命令行运行

时间:2015-04-10 04:54:13

标签: python startup fedora

当我尝试从PyCharm IDE运行我的程序时,一切正常但如果我输入Fedora:

python myScript.py

在shell提示符中,我从模块中获得了一个导入错误。

ImportError : No modue named myDependency

PyCharm做什么允许解释器在从IDE启动时找到我的依赖项?如何让我的脚本找到它的依赖项,以便可以使用单一命令启动它?

4 个答案:

答案 0 :(得分:28)

有几件事可能导致这种情况:

  1. 同样的python解释器?查看import sys; print(sys.executable)
  2. 它是同一个工作目录吗?查看import os; print(os.getcwd())
  3. sys.path中的差异,即列表python按顺序搜索导入位置,可能由环境变量引起。查看import sys; print(sys.path)

答案 1 :(得分:5)

作为第一步,在PyCharm中转到项目设置/ python解释器,并记下路径。然后将其与which python的结果进行比较 - 它们排成一行吗?如果没有,你需要让他们这样做。

如果没问题,请检查PyCharm在项目设置/项目结构中定义的项目根目录。这是脚本所在的目录吗?如果没有,您应该从该目录运行脚本或将目录附加到$PYTHONPATH变量。

几乎可以肯定,这是这两件事之一。

答案 2 :(得分:4)

添加此内容对我有用:

from os import sys, path
sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))

答案 3 :(得分:0)

您可能在Pycharm中为模块myDependency设置了一些项目依赖项。 您可以通过显式导入模块或创建该模块的egg并安装它来在Fedora中访问它。 然后,这将转到python site-packages,您可以从中引用此依赖项。