PyCharm 导入外部库
我在使用PyCharm编辑Houdini中的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模块的路径呢?
我尝试了几天在网上搜索解决方案,但似乎所有的解决方案都提到了一些在我使用的PyCharm版本(Community Edition 3.4.1)中没有的选项和设置。例如,我的'项目解释器'设置只有一个包的列表,没有很多解决方案中提到的'路径'选项卡。
7 个回答
在我的情况下,正确的菜单路径是:
文件 > 默认设置 > 项目解释器
更新于2018年5月26日
如果外部库放在项目下的一个文件夹里,那么你可以这样操作:
文件 -> 设置 -> 项目 -> 项目结构 -> 选择那个文件夹,然后点击标记为源代码!
如果不在项目文件夹里,就需要添加内容根目录,然后做类似的操作。
更新(2018-01-06):这个回答已经过时了。现代版本的PyCharm可以通过设置找到路径,路径是通过设置 ⇨ 项目解释器 ⇨ ⚙ ⇨ 显示所有 ⇨ 显示路径按钮来查看的。
PyCharm专业版在Python解释器
设置中有一个路径
选项卡,但社区版似乎没有这个功能。
作为一种解决方法,你可以在项目根目录下为你导入的库创建一个符号链接。
例如:
myproject
mypackage
__init__.py
third_party -> /some/other/directory/third_party
关于在OSX上使用PyCharm 2016.1的解答:
(这是对@GeorgeWilliams993上面回答的更新,但我还没有足够的权限来评论。)
首先,打开PyCharm菜单,选择“偏好设置”——> “项目:(项目名称)”——> “项目解释器”。
在顶部会看到一个“项目解释器”的弹出框,右边有一个带省略号(...)的按钮——点击这个按钮会出现一个不同的弹出框,然后选择“更多”(或者,实际上你也可以直接点击主弹出框,然后选择“显示全部”)。
这时会显示一个解释器的列表,其中有一个被选中。在屏幕底部有一组工具,选择最右边的那个:
现在你应该能看到PyCharm正在搜索的所有路径,以找到导入的模块,你可以使用底部的“+”按钮来添加新的路径。
我认为与@GeorgeWilliams993的回答相比,最显著的变化是齿轮按钮被一组省略号替代了。这让我有点困惑。