Docker Build Python应用程序错误&在Apple M1上找不到与Spacy==2.3.2&匹配的分发版本
问题描述
我最近改用了Mac mini M1,并试图在我的旧英特尔MBP上运行一个运行正常的项目。因为项目使用了node@10,所以我改用了Rosetta2,但即使使用Rosetta2,其中一个docker版本仍然会出错。
失败的Dockerfile
(为简短起见省略了一些行)
FROM python:3.8
ADD requirements.txt /
RUN pip install -r requirements.txt
requirements.txt
(省略了一些我认为无关的包/行)
blis==0.4.1
spacy==2.3.2
当尝试使用docker-compose构建它时,我得到(省略了一些堆栈跟踪&&为了可读性而格式化):
ERROR: Command errored out with exit status 1:
/usr/local/bin/python -u -c 'import sys, setuptools, tokenize;
sys.argv[0] = '"'"'/tmp/pip-install-a0pf23u9/blis_b27be89cc1164feb9077684e8666c831/setup.py'"'"';
__file__='"'"'/tmp/pip-install-a0pf23u9/blis_b27be89cc1164feb9077684e8666c831/setup.py'"'"';
f=getattr(tokenize, '"'"'open'"'"', open)(__file__);
code=f.read().replace('"'"'
'"'"', '"'"'
'"'"');
f.close();
exec(compile(code, __file__, '"'"'exec'"'"'))' install
--record /tmp/pip-record-5h72yjx8/install-record.txt
--single-version-externally-managed
--prefix /tmp/pip-build-env-84ng6en9/overlay
--compile
--install-headers /tmp/pip-build-env-84ng6en9/overlay/include/python3.8/blis
Check the logs for full command output.
#9 113.4 WARNING: You are using pip version 21.0.1; however, version 21.1 is available.
#9 113.4 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
#9 113.4 ----------------------------------------
#9 113.4 WARNING:
Discarding https://files.pythonhosted.org/packages/18/db/499f374339b522b6618234b93f25d2990692795ccce3152519ccc508586c/spacy-2.3.2.tar.gz#sha256=818de26e0e383f64ccbe3db185574920de05923d8deac8bbb12113b9e33cee1f
(from https://pypi.org/simple/spacy/) (requires-python:!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7).
Command errored out with exit status 1:
/usr/local/bin/python /usr/local/lib/python3.8/site-packages/pip install
--ignore-installed
--no-user
--prefix /tmp/pip-build-env-84ng6en9/overlay
--no-warn-script-location
--no-binary :none:
--only-binary :none:
-i https://pypi.org/simple
-- setuptools wheel 'cython>=0.25' 'cymem>=2.0.2,<2.1.0' 'preshed>=3.0.2,<3.1.0' 'murmurhash>=0.28.0,<1.1.0' thinc==7.4.1
Check the logs for full command output.
#9 113.4 ERROR: Could not find a version that satisfies the requirement spacy==2.3.2
#9 113.4 ERROR: No matching distribution found for spacy==2.3.2
在Run pip install ...
行之前,我尝试添加:
RUN pip install pip --upgrade
,失败,RUN pip install wheel
,失败,RUN pip install spacy==2.3.2 --no-cache-dir
(requirements.txt
中注释掉spacy
),失败,- 以上所有操作同时失败。
您知道可能出了什么问题吗?或者这里的解决方案可能是什么?
更新:
已尝试使用arm64
在终端中构建上述Dockerfile
(初始版本),但仍收到相同的错误。
更新2:
已尝试撞击(次要)blis
&;spacy
包,但仍失败,并出现相同的错误。
解决方案
作为最后的手段,我将需求文件中的所有包都升级到了它们的最新版本,现在它成功生成了。
相关文章