当我尝试从PyCharm IDE运行我的程序时,一切正常但如果我输入Fedora:
python myScript.py
在shell提示符中,我从模块中获得了一个导入错误。
ImportError : No modue named myDependency
PyCharm做什么允许解释器在从IDE启动时找到我的依赖项?如何让我的脚本找到它的依赖项,以便可以使用单一命令启动它?
答案 0 :(得分:28)
有几件事可能导致这种情况:
import sys; print(sys.executable)
import os; print(os.getcwd())
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,您可以从中引用此依赖项。