前段时间给公司搭建了内网python源,遇到了些坑,现在分享出来,避免大家踩坑。参考博客
1.查看所有python三方库需要的空间
2.准备足够大的硬盘空间
预留的硬盘空间必须大于21.2TB
3.下载安装镜像工具bandersnatch
官方文档提供了docker和pip安装方式:bandersnatch安装方式 。我用的是pip安装:
要求python版本高于3.8,查看python版本是否符合要求
python3 -V
更新python3软件包
sudo apt install python3.10-venv
在当前目录下载bandersnatch包
bandersnatch/bin/pip install bandersnatch -i 清华源
添加环境变量
sudo vim ~/.bashrc
export PATH=$PATH:/mnt/disk1/bandersnatch/bin
4.生成.conf配置文件
bandersnatch mirror
第一次执行bandersnatch mirror只会生成/etc/bandersnatch.conf配置文件
5.修改.conf配置文件
bandersnatch配置文件在/etc/路径下
sudo vim /etc/bandersnatch.conf
5.1 修改下载的三方库的保存路径:
5.2 过滤下载的三方库
官网参考文档:官方文档
我们公司不会用到macos和freebsd系统,python2现在也不用了,所以就比如过滤掉macos freebsd python2相关包,在bandersnatch.conf添加:
[plugins]
enabled=
exclude_platform
[blocklist]
platforms =
macos
freebsd
py2.4
py2.5
py2.6
py2.7
这样下载的时候,和这些相关的三方库都不会下载下来,能节省时间,节省空间。
5.3 设置下载线程数
并行下载线程数,越大下载越快
5.4从清华源下载三方库
设置镜像网站为清华源 https://pypi.tuna.tsinghua.edu.cn/
download-mirror-no-fallback默认为fasle,意思就是当有些库在你设置的镜像网站(此处是清华源)没有或者下载失败时,自动从pypi原网站下载该库。但是由于pypi在外网,网络非常不稳定,网速也很慢,很容易报下载失败的错,特别浪费时间。所以这里设置为true,只从清华源下载库,不到pypi源网站下载,能节省很长的时间。
6.开始下载
再次运行
bandersnatch mirror
弹出如上信息说明成功开始下载。