PyCharm: 如何将一个项目作为另一个项目的依赖?
PyCharm: How to use one project as dependency of another?
在 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()
xyz.mod_b.py:
def f2():
print("something was done")
为了实现这一点,我做了以下工作:
我已将 xyz 添加为项目 abc 的项目依赖项:
设置->项目->项目依赖
我已将 xyz 的主目录路径添加到用于项目 abc 的解释器的 PYTHONPATH:
Settings->Project->Project Interpreter->Show All->Interpreter Paths->Add Path
当我 运行 使用 abc.mod_a.py 的代码时,我在初始 import xyz 语句中收到模块未找到错误。我做错了什么?
最简单的方法是处理 abc 项目并打开 xyz 项目。您会看到下面的对话框。
这将打开您的 abc 项目中的 xyz。它将为您处理所有依赖项。
另一种选择是在开发模式下安装 xyz python 库。
https://pip.pypa.io/en/latest/reference/pip_install/#editable-installs
pip install -e ../path_to/xyz
这会在您的 python 站点包目录中创建一个 link,它指向您的 xyz 目录。当您调用 import xyz.mod_b
时,它将在正确的目录中查找。
在 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()
xyz.mod_b.py:
def f2():
print("something was done")
为了实现这一点,我做了以下工作:
我已将 xyz 添加为项目 abc 的项目依赖项: 设置->项目->项目依赖
我已将 xyz 的主目录路径添加到用于项目 abc 的解释器的 PYTHONPATH: Settings->Project->Project Interpreter->Show All->Interpreter Paths->Add Path
当我 运行 使用 abc.mod_a.py 的代码时,我在初始 import xyz 语句中收到模块未找到错误。我做错了什么?
最简单的方法是处理 abc 项目并打开 xyz 项目。您会看到下面的对话框。
这将打开您的 abc 项目中的 xyz。它将为您处理所有依赖项。
另一种选择是在开发模式下安装 xyz python 库。 https://pip.pypa.io/en/latest/reference/pip_install/#editable-installs
pip install -e ../path_to/xyz
这会在您的 python 站点包目录中创建一个 link,它指向您的 xyz 目录。当您调用 import xyz.mod_b
时,它将在正确的目录中查找。