使用預設pypi源出現連線超時的解決辦法

i思錄發表於2018-10-05

關於博主

努力與運動兼備~~~有任何問題可以加我好友或者關注微信公眾號,歡迎交流,我們一起進步!

                                      微信公眾號:  啃餅思錄

                                    QQ: 2810706745(i思錄)

寫在前面

最近博主在做一個專案的時候,直接執行pip install django命令,出現這種情況:

Retrying (Retry(total=4, connect=None, read=None, redirect=None)) 
after connection broken
by 'ConnectTimeoutError(<pip._vendor.requests.packages.urllib3.connection.
VerifiedHTTPSConnection object at 0x10b058850>, 
'Connection to pypi.python.org timed out. (connect timeout=15)')':

說明你採用了預設的pypi源(國外的pypi源),這個很容易出現這種連線超時的問題,所以應當採用國內的映象源,一些國內常用的pypi源如下:

阿里雲 http://mirrors.aliyun.com/pypi/simple/

中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣(douban) http://pypi.douban.com/simple/

清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/

中國科學技術大學 http://pypi.mirrors.ustc.edu.cn/simple/

解決辦法

在你需要安裝的xx後面新增-i + pypi源:

pip install xx -i http://pypi.douban.com/simple/

如果還出現下面的情況:

pypi.douban.com is not a trusted or secure host and is being ignored...

那麼命令就變成這樣:

pip install xx -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

這樣就可以解決,但是這樣需要每次在後面新增-i http://pypi.douban.com/simple --trusted-host pypi.douban.com這麼一長串的字尾,那麼問題來了,我們可不可以設定修改預設的pypi源呢?答案是肯定的,下面就教你如何配置。

修改預設pypi源

在liunx環境下,在當前的虛擬環境下面新建pip.conf檔案:

~/.pip/pip.conf

在windows環境下,在當前的虛擬環境下面的pip資料夾新建pip.ini,並配置系統環境變數:

%HOMEPATH%\pip\pip.ini

在上面2個資料夾裡面寫入這些程式碼:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ #這個pypi源自己定義
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn  # 這個也是根據pypi源自己定義

現在使用pip來安裝時,就會預設呼叫該映象,你不需要再新增那些字尾了。當然如果你想臨時修改某個pypi源,(不想用清華映象,想用豆瓣映象)這也是可以的,操作方法如下:
在前面新增如下程式碼:

import os 
package = raw_input("Please input the package which you want to install:\n")
command = "pip install %s -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com" % package
os.system(command)

然後就可以進行安裝了!怎麼樣,是不是很簡單!

至此我們本篇關於使用預設pypi源出現連線超時的解決辦法的介紹就到此為止了,感謝你的賞閱!

相關文章