Python的包管理器pip更換軟體源的方法詳解,pythonpip
pip鏡像源
在國內如果不使用 VPN 是沒辦法好好使用 pip 命令安裝任何 Python 包的。所以另一個選擇就是使用國內各大廠的開源鏡像源。
目前國內靠譜的 pip 鏡像源有:
- 清華: https://pypi.tuna.tsinghua.edu.cn/simple
- 豆瓣: http://pypi.douban.com/simple/
- 阿里: http://mirrors.aliyun.com/pypi/simple/
在 pip 命令中使用鏡像源很簡單,在執行 install 命令時,使用 -i 參數加上源地址就可以了,例如:
pip install django -i http://pypi.douban.com/simple/
上面的命令就會使用豆瓣的源來安裝 django。
如果經常要安裝各類程式包,這樣使用起來還是有點不方便的。把鏡像地址放到 pip 的全域設定檔中也許是個不錯的選擇。編輯 ~/.pip/pip.conf 檔案(如果不存在可以按路徑建立),添加或修改以下配置:
臨時使用
pip install pythonModuleName -i http://pypi.douban.com --trusted-host=pypi.douban.com
在命令列中添加以上參數,可以讓pip從制定的鏡像源安裝軟體。
配置
[global]index-url = http://pypi.douban.com/simple/
上面的配置就是把豆瓣的源應用到全域環境。之後使用 pip 命令就不需要再指定鏡像源參數。
在最新的 pip 版本(>=7)中,使用鏡像源時,會提示源地址不受信任或不安全。所以需要在 pip 的設定檔指定一下鏡像源是受信任的。配置樣本如下:
[install]trusted-host = http://pypi.douban.com/simple/
當然也可以不用添加,在每次執行 pip 命令時,附加上 --trusted-host 參數,後面再把鏡像源地址加上就好。
問題
- http://pypi.douban.com不提供HTTPS串連,關心安全問題的話,請三思後再決定是否使用。這個問題也導致在配置時,需要添加--trusted-host參數,假設軟體源是安全的。
- 雖然修改了軟體源,但是pip search命令還是不能使用的,因為搜尋軟體使用的協議與安裝軟體不同。pip search基於xmlrpclib實現,pip install基於urllib2實現。同樣地,對pip search設定代理,也是不起作用的。