欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

使用国内源安装 python,使用代理下载 pip,离线安装第三方库

最编程 2024-04-09 11:28:49
...
查看所有Python相关学习笔记

python第三方包使用国内源安装&离线安装

一、将pip源更换到国内镜像

国内源下载速度较快

国内镜像 地址
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
豆瓣 http://pypi.douban.com/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学 http://pypi.hustunique.com/

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目录中创建一个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 (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
内容如下:

[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

然后执行下载操作(此处使用阿里源)

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目录中创建一个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 导出当前环境已安装的包对应的版本信息

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所在目录下执行)

  1. 将离线包和包列表文件(requirements.txt)导入到需要安装包到电脑上
  2. 激活需要安装包到python环境
  3. 进入包列表文件(requirements.txt)所在的路径下(可以通过修改此文件来决定需要安装哪些包)
  4. 执行命令,安装requirements.txt内对应的包
pip install --no-index --find-links 离线包存放路径 -r requirements.txt