ChatGPT解决这个技术问题 Extra ChatGPT

PyCharm 导入外部库

我在 Houdini 中使用 PyCharm 作为 python 代码的编辑器。每当我尝试导入主 Houdini 库 (hou) 时,我都会在 PyCharm 中收到一个错误标记。如果我包含代码片段:-

try:  
   import hou  
except ImportError:  
    # Add $HFS/houdini/python2.6libs to sys.path so Python can find the  
    # hou module.  
    sys.path.append(os.environ['HFS'] + "/houdini/python%d.%dlibs" % sys.version_info[:2])  
    import hou 

我的代码可以从 Houdini 和我选择的解释器中毫无问题地执行。

我的问题在于 PyCharm 本身。编辑器将“import hou”标记为错误,任何后续导入此文件的文件也将由此文件导入的模块标记为错误。因此,我失去了提前输入的功能,并得到了过多的错误消息,这使得很难发现真正的问题。

如何让 PyCharm 识别 hou 模块的路径。

几天来,我已经尝试向 Google 寻求解决此问题的方法,但它们似乎都引用了我的 PyCharm 版本(社区版 3.4.1)中没有的选项卡和设置。例如,我的“项目解释器”设置只有一个包列表,没有“路径”选项卡,正如许多“修复”密切相关的问题中所述。


L
Let Me Tink About It

从 PyCharm 3.4 开始,“项目解释器”设置中的路径选项卡已被替换。为了向项目添加路径,您需要选择齿轮,单击“更多...”,然后选择“显示所选解释器的路径”图标。这允许您像以前一样向项目添加路径。

我的项目现在的行为符合我的预期。

https://i.stack.imgur.com/Dgh44.png


喜欢 Jetbrains 的产品,但他们擅长隐藏某些东西。 (-;
从 PyCharm 2018.3.4 CE(2019-Feb-01)开始,在 ubuntu 18.04 上,他们再次更改了位置。请参阅下面Hghowe的回答
天哪,那是疯狂的用户体验。谢谢你。
你能为远程python解释器做同样的事情吗!?当你的代码在本地但在更强大的机器上使用远程解释器时?
T
Timofei Bondarev

在 OSX 上对 PyCharm 2016.1 的回答:(这是对上述@GeorgeWilliams993 回答的更新,但我还没有代表发表评论。)

转到 Pycharm 菜单 --> 首选项 --> 项目:(项目名称) --> 项目解释器

顶部是“项目解释器”的弹出窗口,右侧是带有省略号 (...) 的按钮 - 单击此按钮以显示不同的弹出窗口并选择“更多”(或者,事实证明,单击主弹出窗口并选择“全部显示”)。

这显示了一个口译员列表,其中一个被选中。屏幕底部是一组工具...选择最右边的一个:

https://i.stack.imgur.com/Zga69.png

现在您应该看到 pycharm 正在搜索以查找导入的所有路径,您可以使用底部的“+”按钮添加新路径。

我认为与@GeorgeWilliams993 的答案最显着的区别是齿轮按钮已被一组椭圆取代。那让我失望了。


这似乎也是当前 Linux 版本的正确方法。
我刚刚在 PyCharm 2018.2 中写了如何在 macOS 上执行此操作。基本上就是你上面所说的,但我提供了更多屏幕截图,以防对任何人有帮助:github.com/bobtiki/pycharm-blender-mac/blob/master/README.md
a
alexanderlukanin13

更新(2018-01-06):这个答案已经过时了。现代版本的 PyCharm 通过设置 ⇨ 项目解释器 ⇨ ⚙ ⇨ 显示全部 ⇨ 显示路径按钮提供路径。

PyCharm 专业版在 Python Interpreters 设置中有 Paths 标签,但社区版显然没有。

作为一种解决方法,您可以在项目的根目录下为导入的库创建符号链接。

例如:

myproject
    mypackage
        __init__.py
    third_party -> /some/other/directory/third_party

哇!我才刚刚开始使用 PyCharm,在过去 20 年的工作生涯中,我使用 MS Visual Studio 开发 C++ 项目,以及不允许您将外部资源添加到具有多个单个项目的项目的 IDE 的想法点击是疯狂的。我不知道如何开始在 Windows 中实施您的解决方案。
@乔治威廉姆斯993 mklink /J "C:\Link To Folder" "C:\Users\Name\Original Folder"
CE中也确实存在路径设置,这个答案对我有用:stackoverflow.com/a/24206781
截至 2020 年(特别是 2 月 2 日),这是唯一对我有用的答案!将此答案移至顶部!
e
empty

更新于 2018 年 5 月 26 日至 2018 年

如果外部库位于项目下的文件夹中,则

文件 -> 设置 -> 项目 -> 项目结构 -> 选择文件夹并标记为源!

如果没有,添加内容根,并做类似的事情。


If not, add content root 这改变了游戏规则,谢谢!
非常感谢。我尝试使用 File -> Settings -> Project -> Project Interpeter -> "wheel" (Show All...) -> Interpreter Path 在我的项目下添加库,但这仅有助于调试/执行(如果我m 没有错),但绝对不是为了代码洞察力。为此,您需要按照您所说的将目录标记为项目结构中的源。
L
Let Me Tink About It

就我而言,正确的菜单路径是:

文件 > 默认设置 > 项目解释器


M
MikeW

我想为我工作区其他地方的另一个项目添加一个导入路径。 MacOS Catalina 10.15.5 PyCharm 社区 2020.1.1

PyCharm - 首选项 - 项目解释器 - Cog 符号 - 显示全部

在该对话框的底部,它显示 5 个按钮:加号、减号、铅笔、漏斗和目录树。

单击目录树。您现在可以使用新对话框中的加号按钮添加“外部库”搜索路径。

如果成功,您现在应该在“项目”面板的“外部库”窗格中看到目录名称。


D
Darth Gabous

为了在项目文件中引用外部库文件->设置->项目->项目结构->选择文件夹并标记为源