pip安裝模塊時出現(xiàn)好多依賴甩鳄,如果沒有外網(wǎng)逞度,需要自己一個個下載后上傳到服務(wù)器,然后還得手動安裝妙啃,有依賴档泽,還得先安裝依賴包,就像使用rpm裝包一樣揖赴,所以最好搭建一個自己的pip源馆匿。
1.安裝pip
操作系統(tǒng)默認(rèn)沒有pip,Centos安裝需要有epel源,沒有就去阿里的鏡像站下載或者搜索python2-pip,在epel源里燥滑。
下載后rpm -ivh
安裝
2.安裝pip2pi
]# pip install pip2pi
3.編寫requirements
將所有的需要從外網(wǎng)pip server下載的版本要求寫入到requirements.txt
]# vim requirements.txt
ansible>=2.5.0,!=2.7.0
jinja2>=2.9.6
netaddr
pbr>=1.6
hvac
4.下載并建立索引
下載到指定目錄渐北,并生成index索引
]# pip download -r requirements.txt -d /opt/repos/pip-packages/
]# dir2pi /opt/repos/pip-packages/
5.搭建http Server
本地搭建http server,將目錄指到/opt/repos
]# yum install nginx
]# vim /etc/nginx/nginx.conf #修改Server段配置
server {
listen 8000 default_server;
listen [::]:8000 default_server;
server_name _;
root /opt/repos;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
自定義參數(shù)如下:
listen:監(jiān)聽的端口突倍,ipv4和ipv6的腔稀,ipv6不寫也行
root:網(wǎng)站根目錄路徑
location段
autoindex on; 顯示目錄(nginx默認(rèn)不允許列出整個目錄)
autoindex_exact_size off; 關(guān)閉文件大小的精確計數(shù),使用K,M,G,為單位(這樣方便閱讀)
autoindex_localtime on; 使用服務(wù)器時間羽历,不開啟的話就使用國際時間(比北京時間慢8小時)
啟動nginx
6.測試
找一個機(jī)器焊虏,設(shè)置pip的配置文件,使用我們剛搭建的pip源
]# vim /root/.pip/pip.conf
[global]
trusted-host = 192.168.1.10
index-url = http://192.168.1.10:8000/pip-packages/simple
再次核對一下目錄
1.pip的包是放在/opt/repos/pip-packages
下
2.建立pip索引指向的目錄是也是/opt/repos/pip-packages
秕磷,所以會在目錄下生成一個simple目錄诵闭,里面有index.html文件
3.nginx配置文件中的root指向/opt/repos
,所以你訪問8000端口的時候會顯示pip-packages這個目錄
4.pip的配置文件里的index-url指向的是index.html文件的位置,所以應(yīng)該是http://192.168.1.10:8000/pip-packages/simple
目錄按照這種方式就行疏尿,不是必須放在/opt下瘟芝,名字也不必就要叫pip-packages