查看所有Python相關學習筆記
python第三方包使用國內源安裝&離線安裝
一、將pip源更換到國內鏡像
國內源下載速度較快
1.1 臨時方法
命令行后面加上指定源
pip install pandas -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
1.2 永久方法
1.2.1 mac
mkdir ~/.pip
tee ~/.pip/pip.conf <<-'EOF'
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=https://pypi.tuna.tsinghua.edu.cn
EOF
1.2.2 win
直接在user目錄中創(chuàng)建一個pip目錄鹅搪,如:C:\Users\用戶名\pip遭铺,然后新建文件pip.ini,即 %HOMEPATH%\pip\pip.ini魂挂,在pip.ini文件中輸入以下內容:
global下添加鏡像源
global下設置超時時間
install下添加信任鏡像源
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
timeout = 100
[install]
trusted-host = mirrors.aliyun.com
1.2.3 Linux
修改 ~/.pip/pip.conf (沒有就創(chuàng)建一個文件夾及文件。文件夾要加“.”坠非,表示是隱藏文件夾)
內容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
二、問題解決(公司通過代理訪問外網果正,通過pip無法下載第三方庫)
參考文章 https://www.lagou.com/lgeduarticle/99027.html
2.1炎码、臨時設置
2.1.1 pip在代理模式下,下載第三方庫
下載前先在cmd窗口設置臨時變量(win電腦)
點擊進入-->特殊字符轉化為UrlEncode攒菠,URL編碼/解碼
# 密碼中的特殊符號需轉換為UrlEncode
set HTTP_PROXY=http://user:passwd@proxy.server:port
set HTTP_PROXYS=https://user:passwd@proxy.server:port
然后執(zhí)行下載操作(此處使用阿里源)
pip install 包名 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
2.1.2 代理模式下requests庫無法正常訪問
訪問時添加proxies參數
import requests
url = 'http://www.baidu.com'
proxies = {
"http": "http://user:passwd@proxy.server:port",
"https": "https://user:passwd@proxy.server:port",
}
response = requests.get(url, proxies=proxies)
print(response.url)
2.2 本機永久設置
在pip.ini文件中輸入以下內容(如果沒有的話則需要新建一個pip.ini-->直接在user目錄中創(chuàng)建一個pip目錄歉闰,如:C:\Users\用戶名\pip,然后新建文件pip.ini和敬,即 %HOMEPATH%\pip\pip.ini,):
參考1.2.2
global下添加代理配置
[global]
proxy=https://user:passwd@proxy.server:port
2.3 為conda設置代理及國內源
使用conda config --set show_channel_urls yes
命令生成配置文件C:\Users\用戶名\.condarc
,打開配置文件.condarc
啤它,按如下格式添加信息后保存私杜,即可使用conda
命令訪問網絡資源
- 代理設置參考如下,密碼中的特殊符號需轉換為UrlEncode(參考2.1.1)
channels:
- https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
- https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
- defaults
show_channel_urls: true
proxy_servers:
https: http://tester:%40%23test1234@127.0.0.1:8080
ssl_verify: false
# 上述示例登錄代理的用戶名為:tester
# 上述示例登錄代理的實際密碼為:@#test1234
# 上述示例代理IP為:127.0.0.1
# 上述示例代理端口為:8080
# Proxy settings: http://[username]:[password]@[server]:[port]
# proxy_servers:
# http: http://user:pass@corp.com:8080
# https: https://user:pass@corp.com:8080
三锣光、第三方包離線下載及安裝
3.1 導出當前環(huán)境已安裝的包對應的版本信息
pip freeze > requirements.txt
requirements.txt文件內容格式
attrs==19.3.0
certifi==2019.11.28
importlib-metadata==1.5.0
more-itertools==8.2.0
packaging==20.3
pluggy==0.13.1
py==1.8.1
pyparsing==2.4.6
pytest==5.4.1
six==1.14.0
wcwidth==0.1.8
zipp==3.1.0
3.2 下載離線包
1.會同步下載相關到依賴包
2.默認下載到當前文件夾內
3.如果pip指定了國內源铝耻,可以會無法下載,親測阿里和豆瓣的不行瓢捉,清華的可以。
3.2.1 下載單個包
pip download pymysql
3.2.2 下載多個包(通過文件)
pip download -d 保存包的目錄 -r requirements.txt
3.2.3下載到指定路徑
pip download pymysql -d 路徑
3.3 安裝離線包(在requirements.txt所在目錄下執(zhí)行)
- 將離線包和包列表文件(requirements.txt)導入到需要安裝包到電腦上
- 激活需要安裝包到python環(huán)境
- 進入包列表文件(requirements.txt)所在的路徑下(可以通過修改此文件來決定需要安裝哪些包)
- 執(zhí)行命令搂漠,安裝requirements.txt內對應的包
pip install --no-index --find-links 離線包存放路徑 -r requirements.txt