比较简单,这里只简要记录流程
python -m venv ./virtual_env
source ./virtual_env/bin/activate
pip install pip2pi
????????这个过程比较耗时,我大概用了快一周的时间,共下载了12T的数据。清华那边的服务器原因,中间被停了几次。可以多开几个线程并行下载。
????????prepare_pypi_requirements.py
import requests
import re
report = requests.request('get','https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/')
# print(report.text)
text_str = str(report.text).split('\n')
with open('requirement.txt','w+') as f:
for i in text_str:
temp = re.findall('<a href="(.*?)/">',i)
# print(i,temp)
if temp != []:
f.write(str(temp[0])+'\n')
在当前文件夹下得到一个requirements.txt文件,大概有几个G。
#!/bin/bash
import os
file="./requirement.txt" # 可以修改成全局路径
with open(file,'r+') as f:
text = f.readlines()
for i in text:
os.mkdir('/home/data1/pypi_packages/'+i[:-1])
os.system('pip download '+i[:-1]+' -i \
https://pypi.tuna.tsinghua.edu.cn/simple -d \
'+'/home/data1/pypi_packages/'+i[:-1])
dir2pi ./pypi_packages
运行完毕后,在pypi_packages目录内生成了一个simple文件夹。
python -m http.server 8080 --bind your_machine_ip --directory /path/to/pypi_packages/simple
在ubuntu中离线安装nginx的教程见:Ubuntu18.04 离线安装nginx-CSDN博客
假设nginx的安装路径是:/usr/local/nginx。
????????总共修改三个位置,如下
server{
listen 8080; # 1.修改位置1:设置端口
server_name 168.163.1.1:8080; # 2.修改位置2:输入你的ubuntu-IP。
location / {
root /home/data1/pypi-packages; # 3.修改位置3--设置html文件的搜索路径,在simple文件夹的前一层
}
}
sudo /usr/local/nginx/nginx
或
co /usr/local/nginx
sudo ./nginx -c ./nginx.config
????????配置pip:
# 修改搜索路径
pip config set global.index-url http://168.163.1.1:8080/simple
# 添加对搜索IP的信任,否则会install失败
pip config set install.trusted-host 168.163.1.1
? ? ? ? 测试镜像:
pip install bs4
?