当通过带Python 3的Docker通过flask应用程序直接运行我的模块时,该模块基于requirements.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
追踪
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
答案 0 :(得分:0)
问题是我有两个setup.py文件。其中一个位于根目录,另一个位于子目录中,以及其余的代码。我正在更新内部的。一旦将其移开并替换了旧的,就安装了所有依赖项。