ModuleNotFoundError: нет модуля с именем 'pandas' при импорте модуля - PullRequest
0 голосов
/ 09 ноября 2018

Когда мой модуль запускается напрямую с помощью приложения-колбы через Docker с Python 3, который устанавливает pandas на основе файла needs.txt, он работает нормально. Когда я импортирую этот модуль из другого приложения, он не находит панд. Ниже приведен мой файл setup.py.

from setuptools import setup, find_packages

with open('requirements.txt') as f:
    required = f.read().splitlines()

setup(
    name='g_plotter',
    packages=find_packages(),
    #packages=['g_plotter', 'pandas'],
    include_package_data=True,
    """ install_requires=[
        'flask',
    ], """
    install_requires=required,
)

Ошибка при:

import pandas as pd

Traceback

server_1  |   File "./g_server.py", line 21, in <module>
server_1  |     from g_plotter import Gparser
server_1  |   File "/usr/local/lib/python3.7/site-packages/g_plotter/Gparser.py", line 4, in <module>
server_1  |     import pandas as pd
server_1  | ModuleNotFoundError: No module named 'pandas'

В Docker я не вижу устанавливаемых панд:

Step 12/15 : RUN pip3 install ./g_plotter
 ---> Running in 7cc0957f23e6
Processing ./g_plotter
Requirement already satisfied: flask in /usr/local/lib/python3.7/site-packages (from g-plotter==0.0.0) (1.0.2)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python3.7/site-packages (from flask->g-plotter==0.0.0) (1.1.0)
Requirement already satisfied: Jinja2>=2.10 in /usr/local/lib/python3.7/site-packages (from flask->g-plotter==0.0.0) (2.10)
Requirement already satisfied: Werkzeug>=0.14 in /usr/local/lib/python3.7/site-packages (from flask->g-plotter==0.0.0) (0.14.1)
Requirement already satisfied: click>=5.1 in /usr/local/lib/python3.7/site-packages (from flask->g-plotter==0.0.0) (7.0)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/site-packages (from Jinja2>=2.10->flask->g-plotter==0.0.0) (1.1.0)
Building wheels for collected packages: g-plotter
  Running setup.py bdist_wheel for g-plotter: started
  Running setup.py bdist_wheel for g-plotter: finished with status 'done'
  Stored in directory: /tmp/pip-ephem-wheel-cache-iu6t3zln/wheels/a5/fc/d6/bbda9e5e615cade7b93e6d32cfba9062e2b21ea5352d0c2be0

1 Ответ

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

Проблема была в том, что у меня было два файла setup.py. Один в корне и один в подкаталоге с остальной частью кода. Я обновлял внутренний. Как только я переместил его вверх и заменил старый, все зависимости были установлены.

...