ModuleNotFoundError: No module named #39;versioneer#39;(ModuleNotFoundError:没有名为“versioneer的模块)
问题描述
我正在使用下面的 dockerfile 来构建图像.
I am using the below dockerfile to build an image .
FROM <custom registry>/python:alpine3.7
# Copy local code to the container image.
ENV APP_HOME app
WORKDIR $APP_HOME
COPY . .
#RUN pip install versioneer
RUN pip install Flask google-auth google-cloud-storage numpy datetime pandas sklearn
ENV PORT 8080
CMD ["python", "app_hello.py"]
当我尝试进行 docker build 时,它给了我以下错误
When I tried to do a docker build it gave me the below error
File "setup.py", line 37, in <module>
import versioneer
ModuleNotFoundError: No module named 'versioneer'
----------------------------------------
Command "/usr/local/bin/python /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmp8gvrvde_" failed with error code 1 in /tmp/pip-install-s551_g8p/numpy
我也尝试安装 versioneer,但没有成功.我在这里错过了什么?
I tried to install versioneer as well , but it did not work. What am I missing here ?
推荐答案
命令/usr/local/bin/python/usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/in_process.py get_requires_for_build_wheel/tmp/tmp8gvrvde"失败,错误代码 1 在/tmp/pip-install-s551_g8p/numpy
Command "/usr/local/bin/python /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/in_process.py get_requires_for_build_wheel /tmp/tmp8gvrvde" failed with error code 1 in /tmp/pip-install-s551_g8p/numpy
构建numpy
时出现该错误,这表明您需要升级pip才能使其工作:
The error happens when build numpy
, and this indicates you need to upgrade pip to make it work:
pip install --upgrade pip
另外,您需要安装编译器以使用 next 进行构建:
Additional, you need install compiler for build with next:
apk add build-base
有了上面的例子,接下来是一个可行的 Dockerfile 示例:
With above, a sample workable Dockerfile as next:
FROM python:alpine3.7
RUN pip install --upgrade pip; apk add build-base; pip install numpy
RUN python -c "import numpy; print(numpy.__version__)"
输出:
$ docker build -t abc:1 .
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM python:alpine3.7
---> 00be2573e9f7
Step 2/3 : RUN pip install --upgrade pip; apk add build-base; pip install numpy
---> Running in bba4eed0d626
Collecting pip
Downloading https://files.pythonhosted.org/packages/8a/d7/f505e91e2cdea53cfcf51f4ac478a8cd64fb0bc1042629cedde20d9a6a9b/pip-21.2.2-py3-none-any.whl (1.6MB)
Installing collected packages: pip
Found existing installation: pip 19.0.1
Uninstalling pip-19.0.1:
Successfully uninstalled pip-19.0.1
Successfully installed pip-21.2.2
...
Collecting numpy
Downloading numpy-1.21.1.zip (10.3 MB)
...
Successfully built numpy
Installing collected packages: numpy
Successfully installed numpy-1.21.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Removing intermediate container bba4eed0d626
---> 6e11968fe036
Step 3/3 : RUN python -c "import numpy; print(numpy.__version__)"
---> Running in 0f4c47db07cd
1.21.1
Removing intermediate container 0f4c47db07cd
---> f189962ad246
Successfully built f189962ad246
Successfully tagged abc:1
这篇关于ModuleNotFoundError:没有名为“versioneer"的模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ModuleNotFoundError:没有名为“versioneer"的模块


基础教程推荐
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 筛选NumPy数组 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01