【问题标题】:Script running in PyCharm but not from the command line在 PyCharm 中运行但不是从命令行运行的脚本
【发布时间】:2015-04-10 04:54:12
【问题描述】:

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

python myScript.py

在 shell 提示中,我从模块的 1 中得到一个导入错误。

ImportError : No modue named myDependency

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

【问题讨论】:

    标签: python startup fedora


    【解决方案1】:

    有几种可能的原因:

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

    【讨论】:

      【解决方案2】:

      添加这个对我有用:

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-07-26
            • 2011-09-21
            • 2015-04-18
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多