PyCharm:如何使用一个项目作为另一个项目的依赖项?

Jam*_*ams 3 pythonpath pycharm

在 PyCharm 中,我有一个项目可以调用另一个项目的模块。

例如,假设我们有两个项目 abc 和 xyz。在项目 abc 中,我们有一个带有函数 f1() 的模块 abc.mod_a,在项目 xyz 中,我们有一个带有函数 f2() 的模块 xyz.mod_b。

abc.mod_a.py:

import xyz.mod_b
def f1():
    xyz.mod_b.f2()
Run Code Online (Sandbox Code Playgroud)

xyz.mod_b.py:

def f2():
    print("something was done")
Run Code Online (Sandbox Code Playgroud)

我已经做了以下工作来实现这一点:

我已将 xyz 添加为项目 abc 的项目依赖项:设置->项目->项目依赖项

我已将 xyz 主目录的路径添加到用于项目 abc 的解释器的 PYTHONPATH:设置->项目->项目解释器->全部显示->解释器路径->添加路径

当我运行使用 abc.mod_a.py 的代码时,我在初始 import xyz 语句中得到一个模块未找到错误。我究竟做错了什么?

jus*_*gel 5

最简单的方法是处理 abc 项目并打开 xyz 项目。你得到下面的对话框。

在此处输入图片说明

这将在您的 abc 项目中打开 xyz。它将为您处理所有依赖项。

另一种选择是在开发模式下安装您的 xyz python 库。 https://pip.pypa.io/en/latest/reference/pip_install/#editable-installs

pip install -e ../path_to/xyz
Run Code Online (Sandbox Code Playgroud)

这会在你的 python 的 site-packages 目录中创建一个指向你的 xyz 目录的链接。当你调用import xyz.mod_b它时,它会在正确的目录中查找。