Я запускаю Python 3.6.3, и у меня есть следующий модуль в подкаталоге, который я пытаюсь установить через pip.
/g_plotter
setup.py
/g_plotter
__init__.py
g_plotter.py
Gparser.py
setup.py
from setuptools import setup
setup(
name='g_plotter',
packages=['g_plotter'],
include_package_data=True,
install_requires=[
'flask',
],
)
Я установил этот модуль из Docker в свой контейнер:
RUN pip3 install ./g_plotter
Тогда в моем коде приложения:
import g_plotter
print(dir(g_plotter))
который выводит
server_1 | ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
, поэтому вместо этого используйте этот импорт:
from g_plotter import g_plotter
Результаты в
server_1 | Traceback (most recent call last):
server_1 | File "./g_server.py", line 21, in <module>
server_1 | from g_plotter import g_plotter
server_1 | File "/usr/local/lib/python3.7/site-packages/g_plotter/g_plotter.py", line 7, in <module>
server_1 | import Gparser
server_1 | ModuleNotFoundError: No module named 'Gparser'
Когда я запускаю субмодуль самостоятельно (это приложение для колб), оно работает.