由于某些不可抗因素,Python官方的包在国内有时无法访问或出现网络不稳定现象。conda源也会出现网络链接失败的问题。为了解决这个问题,这里梳理了一些配置方法。
目录
Pip与Conda的比较
依赖项检查
- pip:不一定会展示所需其他依赖包。安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。
- conda:列出所需其他依赖包。安装包时自动安装其依赖项。可以便捷地在包的不同版本中自由切换。
环境管理
- pip:维护多个环境难度较大。
- conda:比较方便地在不同环境之间进行切换,环境管理较为简单。
对系统自带Python的影响
- pip:在系统自带Python中包的更新/回退版本/卸载将影响其他程序。
- conda:不会影响系统自带Python。
适用语言
- pip:仅适用于Python。
- conda:适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
Python pip源的修改
常见的pip源:
- https://mirrors.cloud.tencent.com/pypi/simple/
- https://mirrors.aliyun.com/pypi/simple/
- https://pypi.doubanio.com/simple/
- https://pypi.tuna.tsinghua.edu.cn/simple/
- https://pypi.mirrors.ustc.edu.cn/simple/
临时使用:在使用pip的时候在后面加上-i参数,指定pip源
pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple
永久修改:
- Windows:在用户文件夹下创建pip目录,并在pip目录下创建in文件(%HOMEPATH%\pip\pip.ini)
- Linux/MAC OS:路径和文件名为:~/.pip/pip.conf中(如果想全局生效,文件可以放在/etc/pip.conf)
文件内写入如下内容(index-url可以换成的你想使用的pip源):
[global] trusted-host=mirrors.aliyun.com index-url=https://mirrors.aliyun.com/pypi/simple/
Anaconda conda源的修改
根据 Anaconda 软件源上的说明,Anaconda 和 Miniconda 是 Anaconda, Inc. 的商标,任何未经授权的公开镜像都是不允许的。,Anaconda, Inc.方面同意提供流量信息的前提下将镜像权限开放给教育科研机构。
以下为整理的可用的conda源:
- 清华大学镜像:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
- 上海交大镜像:https://mirrors.sjtug.sjtu.edu.cn/docs/anaconda
修改配置文件
1、通过命令生成陪配置文件:
conda config --set show_channel_urls yes
2、修改生成的目录下配置文件.condarc
- Windows为“%HOMEPATH%\.condarc”
- Linux/MAC OS为”~/.condarc”
推荐的配置内容:
ssl_verify: False channels: - defaults default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud show_channel_urls: true
如果网络还是存在问题,可添加代理:
proxy_servers: http: http://127.0.0.1:55959 https: http://127.0.0.1:55959
3、运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。
命令行直接配置
直接在命令行中输入如下命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes
如果返回Conda HTTP Error,则需要删除第三方镜像链接,恢复到默认设置:
conda config --remove-key channels conda config --show # 查看conda的配置,确认channels conda config --show-sources # 仅查看所有镜像
增加r、conda-forge、bioconda的channels:
conda config --add channels r # R软件包 conda config --add channels conda-forge # Conda社区维护的不在默认通道中的软件 conda config --add channels bioconda # 生物信息学类工具