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

Asi*_*ics 19 python fedora startup

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

python myScript.py
Run Code Online (Sandbox Code Playgroud)

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

ImportError : No modue named myDependency

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

wim*_*wim 29

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

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


Oha*_*hav 6

添加这个对我有用:

from os import sys, path
sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
Run Code Online (Sandbox Code Playgroud)


jwi*_*ner 5

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

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

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