PyCharm: Как использовать один проект как зависимость другого? - PullRequest
0 голосов
/ 13 ноября 2018

В PyCharm у меня есть один проект, который выполняет вызовы модулей другого проекта.

Например, скажем, у нас есть два проекта abc и xyz.В проекте abc у нас есть модуль abc.mod_a с функцией f1 (), а в проекте xyz у нас есть модуль xyz.mod_b с функцией f2 ().

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: Settings-> Project-> Project Dependencies

Я добавил путь к первичному каталогу xyz в PYTHONPATH для интерпретатора, используемого для проекта abc: Настройки-> Проект-> Проект-интерпретатор-> Показать все-> Пути интерпретатора->Добавить путь

Когда я запускаю код, который использует abc.mod_a.py, я получаю ошибку модуль не найден в первоначальном операторе import xyz.Что я делаю не так?

1 Ответ

0 голосов
/ 13 ноября 2018

Самый простой способ - поработать над проектом abc и открыть проект xyz. Вы получите диалоговое окно ниже.

enter image description here

Это откроет XYZ внутри вашего проекта ABC. Он будет обрабатывать все зависимости для вас.

Другая альтернатива - установить вашу библиотеку xyz python в режиме разработки. https://pip.pypa.io/en/latest/reference/pip_install/#editable-installs

pip install -e ../path_to/xyz

Это создает ссылку в каталоге site-packages вашего python, которая указывает на ваш каталог xyz. Когда вы звоните import xyz.mod_b, он будет выглядеть в правильном каталоге.

...