小编给大家分享一下如何处理在docker中pip使用私有源进行依赖安装依然请求外网源的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
近期在进行应用容器化,需要基于python2.7.12构建应用镜像。在docker中配置了pip.conf指定使用内网源,但依然发现有依赖安装不成功。
异常信息是连接官方源失败,信息如下:
Collecting positional>=1.0.1 (from python-keystoneclient==3.5.1->-r /monitor/requirements.txt (line 7))
Downloading http://10.xx.xxx.xxx/repository/pypi-proxy/packages/positional/1.2.1/positional-1.2.1.tar.gz
Complete output from command python setup.py egg_info:
Download error on https://pypi.python.org/simple/pbr/: [Errno 99] Cannot assign requested address -- Some packages may not be found!
Couldn't find index page for 'pbr' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: [Errno 99] Cannot assign requested address -- Some packages may not be found!
No local packages or working download links found for pbr>=1.8
Traceback (most recent call last):
...
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pbr>=1.8')
大致意思就是安装positional时需要安装pbr>=1.8的依赖,但此依赖从外网安装失败。
但在pip.conf中已经配置内网源,并且从positional的安装路径来看是生效了的。
后面把positional的源码下载下来后,在setup.py中发现里面有通过setuptools安装pbr依赖
setuptools.setup(
setup_requires=['pbr>=1.8'],
pbr=True)
经过查询setuptools和pip配置源的方式不一样,是通过~/.pydistutils.cfg文件来配置的。
通过在镜像时增加该文件,顺利解决了依赖安装的问题。
以上是“如何处理在docker中pip使用私有源进行依赖安装依然请求外网源的问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!