Python: Как импортировать файлы из одного каталога в другой?Python

Программы на Python
Anonymous
Python: Как импортировать файлы из одного каталога в другой?

Сообщение Anonymous »

Сейчас я работаю над проектом, использующим Python, GRPC и Docker. Моя файловая структура выглядит следующим образом:
Project
-> main.py (client)
-> __init__.py
-> microservices
-> catalogue
-> __init__.py
-> catalogue_pb2_grpc.py
-> catalogue_pb2.py
-> catalogue_server.py
-> catalogue.proto
-> Dockerfile
-> inventory
-> __init__.py
-> inventory_pb2_grpc.py
-> inventory_pb2.py
-> inventory_server.py
-> inventory.proto
-> Dockerfile
-> quote
-> __init__.py
-> quote_pb2_grpc.py
-> quote_pb2.py
-> quote_server.py
-> quote.proto
-> Dockerfile
-> login
-> __init__.py
-> login_pb2_grpc.py
-> login_pb2.py
-> login_server.py
-> login.proto
-> Dockerfile

Я хочу импортировать файлы Inventory_pb2_grpc, Inventory_pb2, Quote_pb2_grpc и Quote_pb2 в Catalogue_server.py. Как этого добиться?
Я уже пробовал несколько методов, но постоянно сталкиваюсь с такими ошибками, как «ModuleNotFoundError» или «ImportError».
Попытка импорта ..inventory инвентарь_pb2_grpc, инвентарь_pb2вызывает ошибку «Ошибка импорта: попытка относительного импорта без известного родительского пакета», для которой я затем создал файл init.py в каждом из мои подпапки внутри микросервисов, но это все равно ничего не помогло.
Запуск python -m microservices.catalogue.catalogue_server с терминала внутри корневой папки, похоже, не дает любые ошибки в отношении импорта из инвентаря и цитаты, но затем я получаю сообщение об ошибке при импорте каталога_pb2 и каталога_pb2_grpc, которые представляют собой два импорта, которые я импортирую из той же папки, что и каталог_сервер.py.
Я также пытался использовать абсолютный путь с библиотеками os и sys, но безуспешно.
Traceback 1) ModuleNotFoundError
C:\Users\rl\Desktop\DDM\Assignment 2\microservices\catalogue>python catalogue_server.py
Traceback (most recent call last):
File "C:\Users\rl\Desktop\DDM\Assignment 2\microservices\catalogue\catalogue_server.py", line 6, in
from microservices.inventory import inventory_pb2_grpc
File "C:\Users\rl\Desktop\DDM\Assignment 2\microservices\inventory\inventory_pb2_grpc.py", line 6, in
import inventory_pb2 as inventory__pb2
ModuleNotFoundError: No module named 'inventory_pb2'


Подробнее здесь: https://stackoverflow.com/questions/784 ... -directory

Вернуться в «Python»