因此,我通过
apt install python3-pip
进行安装,这可以工作,但其大小为300兆字节,并且需要几分钟才能安装(显然是因为它安装了大量用于从gcc等构建二进制软件包的东西)。当然,我可以在安装所需的依赖项后从镜像中卸载python3-pip,并另外使用
apt autoremove
来清除299兆字节。但这需要再花费一分钟的时间。虽然上述方法可行,但它显著增加了我的Docker镜像构建时间。因此,我尝试查看是否有一种无需使用pip安装依赖项的方法:
我尝试从PyPI下载依赖项的
.tar.gz
文件,解压缩后尝试python3 setup.py install
,但这会使我遇到奇怪的错误:Traceback (most recent call last):
File "setup.py", line 59, in <module>
from distutils import log
ImportError: cannot import name 'log'
我想也许我需要安装setuptools或升级distutils。
我尝试使用官方网站上的get-pip.py,但那也失败了。
Traceback (most recent call last):
File "get-pip.py", line 20890, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmpjpa5gs_x/pip.zip/pip/_internal/__init__.py", line 40, in <module>
File "/tmp/tmpjpa5gs_x/pip.zip/pip/_internal/cli/autocompletion.py", line 8, in <module>
File "/tmp/tmpjpa5gs_x/pip.zip/pip/_internal/cli/main_parser.py", line 8, in <module>
File "/tmp/tmpjpa5gs_x/pip.zip/pip/_internal/cli/cmdoptions.py", line 17, in <module>
File "/tmp/tmpjpa5gs_x/pip.zip/pip/_internal/locations.py", line 10, in <module>
ImportError: cannot import name 'sysconfig'
很奇怪,因为如果我启动python3,import sysconfig
可以正常工作。
我也尝试了apt install python-pyyaml
(我在Docker镜像中需要的依赖项),但似乎不存在。
所以我已经没有其他选择了。