【问题标题】:How to make PyCharm recognize a package not in PYTHONPATH如何让 PyC​​harm 识别不在 PYTHONPATH 中的包
【发布时间】:2016-09-17 01:43:20
【问题描述】:

我正在使用 PyCharm 对在没有 IDE 的情况下开发的 Python 程序进行一些维护。该程序导入了一个我称之为 zzz 的包。包 zzz 位于名为 zzz 的目录中,该目录位于我将称为 xxx 的目录中。目录 zzz 包含一个 __init__.py 文件,但没有 zzz.py 文件。

包 zzz 不在 PYTHONPATH 中,但程序可以像这样访问它:

sys.path.append(<absolute path of directory xxx>)
sys.path.append('zzz/zzz')
import zzz

导入后,我可以将光标悬停在包zzz的名称上,看到它的路径名是目录zzz的绝对路径名。

但是 PyCharm 将 import 语句标记为错误,可能是因为它在运行前 PYTHONPATH 中找不到 zzz。

我尝试将 zzz 的路径名添加到项目的内容文件夹(文件 > 设置对话框,项目 > 项目结构页面)。我将其标记为源文件夹。 PyCharm 仍将“import zzz”标记为错误。

这使得很难判断程序何时包含真正的错误!无论如何,“至少发现一个错误”图标(红色圆圈中的感叹号)出现在滚动条上方。如何让 PyC​​harm 将 zzz 识别为有效?

我应该注意到“重新组织目录”不是一个可行的解决方案;也不是“永久更改 PYTHONPATH”。我们有十几个使用 zzz 并以相同方式加载它的程序;我没有权力动它,有权力的人也不愿意动。程序的用户也不愿意改变他们的 PYTHONPATH 来帮助我让 PyC​​harm 开心!

【问题讨论】:

  • 编写一个更改 PYTHONPATH 的批处理文件,然后启动 PyCharm。
  • 如果该目录在项目中,请右键单击它并将其标记为源根目录。

标签: python pycharm packages pythonpath


【解决方案1】:

Preferences->Project Interpreter,选择齿轮图标,然后选择 Show Path for Selected Interpreter 并添加所需路径

【讨论】:

  • choma,我需要更多信息才能做到这一点。 “首选项”与我能找到的任何菜单或菜单命令都不对应。我认为您指的是“文件”>“设置”命令打开的“设置”对话框的“项目”>“项目解释器”窗格。该窗格上有一个齿轮,但它不提供“显示选定解释器的路径”命令。只有“添加本地”、“添加远程”和“创建 VirtualEnv”。
  • 后来:我又看了一遍,发现可以通过选择齿轮图标的“更多”选项打开路径名列表。但我无法将包添加到其中。现有值表明它只接受 EXE 文件,对话框名称“Project Interpreters”表明它用于指定解释器,而不是模块或包!如果我没看错,你一定误解了我的问题;这个功能完全可以满足我的需要。
  • Alex,该目录在项目中,并且已经标记为源根目录。也许您可以提出另一种技术;这个不行。
猜你喜欢
  • 2021-01-29
  • 2013-09-26
  • 2019-03-20
  • 1970-01-01
  • 2016-08-28
  • 2015-12-16
  • 2016-11-09
  • 2020-01-27
  • 2015-12-16
相关资源
最近更新 更多