conda與pip的鏡像源與代理設置

conda與pip的鏡像源與代理設置

  • 一、前言
  • 二、conda鏡像源設置
    • 2.1conda默認鏡像源介紹
    • 2.2通過終端設置鏡像源
    • 2.3通過配置文件設置鏡像源
  • 三、pip鏡像源設置
    • 3.1pip默認鏡像源介紹
    • 3.2通過終端臨時設置鏡像源
    • 3.3通過配置文件設置一個或多個鏡像源
  • 四、conda代理設置
    • 4.1通過終端設置代理
    • 4.2通過配置文件設置代理
    • 4.3在系統環境變量中設置代理
  • 五、pip代理設置
    • 5.1通過終端臨時設置代理
    • 5.2通過配置文件設置代理
    • 5.3在系統環境變量中設置代理
  • 六、不同虛擬環境中的pip設置
    • 6.1在虛擬環境文件夾下創建pip配置文件
    • 6.2在虛擬環境的激活腳本中設置配置
  • 參考文檔

一、前言

使用conda、pip命令行工具安裝一些需要的工具包或函數庫時,由于默認的鏡像源連接速度很慢,影響開發效率,或者由于計算機處于局域網,必須通過規定的IP地址轉接才能訪問互聯網,因此本文對windows系統下如何設置鏡像源及代理進行介紹。
系統環境如下:
windows:win10專業版
conda:4.9.2
pip:24.0

二、conda鏡像源設置

conda的鏡像源可通過終端和配置文件進行設置,都是設置后永久生效

2.1conda默認鏡像源介紹

conda默認的鏡像源通常指 Anaconda 官方提供的軟件包倉庫地址,有三個,地址如下:

https://repo.anaconda.com/pkgs/main
https://repo.anaconda.com/pkgs/r
https://repo.anaconda.com/pkgs/msys2

main 頻道:主要包含由Anaconda提供和維護的廣泛使用的開源軟件包。
r 頻道:專門用于 R 語言及其相關工具和包。
msys2 頻道:包含 Windows 上使用的工具和庫。
如果未進行任何鏡像源設置,那么conda將使用默認鏡像源,按照順序依次從上述地址查找軟件包。

2.2通過終端設置鏡像源

以管理員身份打開conda終端,然后以清華鏡像源為例,輸入以下命令添加鏡像源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
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/

注意使用命令添加的鏡像源,類似于棧結構的后進先出,最后添加的優先級最高,即如果輸入上述命令,那么main頻道的優先級最高,conda將優先從main頻道查找軟件包。
清華鏡像源的三個頻道介紹如下:
main :是 Anaconda 的主要官方渠道,包含最新穩定版軟件包,推薦使用。
free :是舊的官方免費渠道,包括了在 Anaconda 5.0 之前發布的所有軟件包,已經停止更新,僅用于兼容性需求。
cloud/conda-forge: 是社區維護的渠道,提供了廣泛的包集合和最新的軟件版本,更新頻繁。
與清華的conda-forge頻道相對應,conda也有一個社區維護的頻道,地址為:

https://conda.anaconda.org/conda-forge

添加鏡像源后,可使用如下命令進行查看:

conda config --show channels

顯示出的鏡像源的從上到下排列順序即為優先級順序
想要移除某個鏡像源,可使用如下命令:

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

如果想要移除添加的全部鏡像源,可使用如下命令,移除后conda將使用默認源:

conda config --remove-key channels

2.3通過配置文件設置鏡像源

conda配置文件名為.condarc,位于C:\Users\自己的用戶名文件夾。以添加清華源為例,使用文本編輯器打開文件后,在文件中添加如下內容:

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/cloud/conda-forge- defaults
show_channel_urls: true
report_errors: false

文件中在channels中定義了三個清華源和一個defaults,defaults代表默認源,當安裝軟件包時,conda會首先依次從三個清華源中查找,如果查找不到則會到默認源中查找。
show_channel_urls:用于控制 conda 是否在輸出中顯示包的下載 URL,這對于調試和了解包從哪個頻道下載很有用。
report_errors:控制是否在 conda 出現錯誤時,將錯誤信息報告給 conda 開發團隊。這有助于開發團隊了解用戶遇到的問題并改進 conda。

三、pip鏡像源設置

pip的鏡像源可通過終端和配置文件設置,但通過終端只能進行臨時性設置,配置文件的設置為永久設置,這一點與conda有所不同。

3.1pip默認鏡像源介紹

pip安裝軟件包時,默認的鏡像源是 Python Package Index (PyPI),其 URL 為 https://pypi.org/simple。當未對鏡像源進行設置時,pip會使用默認鏡像源。
與conda不同,pip默認的鏡像源只有上述一個。

3.2通過終端臨時設置鏡像源

pip可以通過終端以命令的形式設置鏡像源,但設置的鏡像源的命令與安裝軟件包的命令捆綁在一起,即安裝一次軟件包設置一次鏡像源在當前鏡像源查找不到軟件包時不會去默認鏡像源繼續查找,以安裝numpy和使用清華鏡像源為例,命令如下:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

也可通過終端設置pip下載軟件包進行網絡連接的超時時間,默認超時時間是15s,設置超時時間為30s的命令如下:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple --timeout 30
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout 30

上述兩條命令是等效的,timeout和default-timeout都可設置超時時間。
注意超時時間是針對網絡連接而言,包括通過代理服務器訪問鏡像源并下載軟件包的整個過程,不單作用于鏡像源,也作用于代理。

3.3通過配置文件設置一個或多個鏡像源

pip默認配置文件名為pip.ini,位于%APPDATA%\pip,如果找不到該文件夾或文件,可以手動創建。打開文件后,添加如下內容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
extra-index-url =https://pypi.org/simplehttps://pypi.mirrors.ustc.edu.cn/simple
timeout = 30

上述內容定義了三個鏡像源和超時時間,三個源的優先級即為從上到下的排列順序,pip下載軟件包時會依次從三個源進行查找。
保存配置文件后,可使用以下命令來驗證 pip 的配置:

pip config list

四、conda代理設置

conda的代理可通過終端和配置文件進行設置,也還可在系統的環境變量中設置代理,conda在自身沒有設置代理的情況下會讀取環境變量中的代理設置,但環境變量的代理設置可能會影響到其他程序。如果同時設置了自身的代理和環境變量的代理,conda會優先使用自身代理

4.1通過終端設置代理

設置http和https代理命令如下:

conda config --set proxy_servers.http http://0.0.0.0:00000
conda config --set proxy_servers.https https://0.0.0.0:00000

設置完成后,可通過如下命令進行查看:

conda config --show proxy_servers

也可使用如下命令刪除代理:

conda config --remove-key proxy_servers.http
conda config --remove-key proxy_servers.https

4.2通過配置文件設置代理

打開配置文件,添加如下內容:

proxy_servers:http: http://0.0.0.0:00000https: https://0.0.0.0:00000

4.3在系統環境變量中設置代理

在系統環境變量中設置代理的方式有兩種,分別為使用命令行終端(cmd)和通過界面設置。
方式一:使用命令行終端(暫時性設置)
打開cmd,然后輸入以下命令:

set HTTP_PROXY=http://0.0.0.0:00000
set HTTPS_PROXY=https://0.0.0.0:00000

這種方式設置的代理僅在當前命令行終端有效,關閉命令行終端后設置會丟失。
方式二:界面設置(永久設置)
1、打開 我的電腦,在空白處右鍵,點擊屬性;
2、點擊左側的高級系統設置;
3、在 系統屬性 窗口中,點擊 環境變量;
4、在 環境變量 窗口中,選擇在用戶變量或系統變量執行下述步驟即可:
5、
點擊 新建 按鈕。
在 變量名 中輸入 HTTP_PROXY。
在 變量值 中輸入 http://0.0.0.0:00000。
點擊 確定。
6、重復步驟5添加 HTTPS_PROXY 變量。
設置好后如下圖:
在這里插入圖片描述
設置完成后打開cmd,輸入以下命令查看環境變量設置:

echo %HTTP_PROXY%
echo %HTTPS_PROXY%

五、pip代理設置

pip代理設置與鏡像源設置類似,通過終端只能進行臨時性設置,而通過配置文件可實現永久設置,此外與conda一樣,也可通過系統的環境變量設置代理,pip自身的代理優先級同樣高于環境變量的代理

5.1通過終端臨時設置代理

以下載安裝numpy為例,設置代理命令如下:

pip install numpy --proxy http://0.0.0.0:00000

5.2通過配置文件設置代理

打開配置文件,添加以下內容:

[global]
proxy = http://0.0.0.0:00000

保存配置文件后,可通過以下命令來驗證 pip 的配置:

pip config list

5.3在系統環境變量中設置代理

參照4.3小節。

六、不同虛擬環境中的pip設置

上述pip的配置文件是全局配置文件,會作用于所有由conda創建的虛擬環境中的pip,如果需要對每個虛擬環境中的pip進行一些特定配置,方法如下:

6.1在虛擬環境文件夾下創建pip配置文件

如虛擬環境名為myenv,則到conda的安裝目錄\envs\myenv目錄下,創建pip.ini文件,按照前文所述對pip進行配置,那么在該虛擬環境下使用pip就會加載此配置文件。

6.2在虛擬環境的激活腳本中設置配置

1、找到虛擬環境的激活腳本目錄:conda的安裝目錄\envs\myenv\etc\conda\activate.d
如果activate.d文件夾不存在,可進行創建。
2、創建或編輯一個名為 pip_config.bat 的腳本文件,內容如下:

set PIP_CONFIG_FILE=%CONDA_PREFIX%\pip.conf

3、找到虛擬環境的deactivate 腳本目錄:conda的安裝目錄\envs\myenv\etc\conda\deactivate.d
如果deactivate.d文件夾不存在,可進行創建。
4、創建或編輯一個名為 de_pip_config.bat 的腳本文件,重置環境變量,內容如下:

set PIP_CONFIG_FILE=

5、然后在虛擬環境的根目錄中創建 pip.conf 文件,按照前文所述對pip進行配置。

參考文檔

更換pip源到國內鏡像

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19875.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19875.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19875.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構與算法筆記:基礎篇 - 棧:如何實現瀏覽器的前進和后退功能?

概述 瀏覽器的前進、后退功能,你肯定很熟悉吧? 當依次訪問完一串頁面 a-b-c 之后,點擊瀏覽器的后退按鈕,就可以查看之前瀏覽過的頁面 b 和 a。當后退到頁面 a,點擊前進按鈕,就可以重新查看頁面 b 和 c。但…

放開了去的 ulimit

放開了去的 ulimit 放開了去的 ulimitulimit簡介臨時修改打開文件數目永久修改系統總打開句柄限制更多信息 放開了去的 ulimit ulimit簡介 對于高并發或者頻繁讀寫文件的應用程序而言,有時可能需要修改系統能夠打開的最多文件句柄數,否則就可能會出現t…

HTTPS 原理技術

HTTPS原理技術 背景簡介原理總結 背景 隨著年齡的增長,很多曾經爛熟于心的技術原理已被歲月摩擦得愈發模糊起來,技術出身的人總是很難放下一些執念,遂將這些知識整理成文,以紀念曾經努力學習奮斗的日子。本文內容并非完全原創&am…

Element-ui使用上傳時彈框選擇文件類型

實現效果 1,點擊上傳,上傳文件; 2,選擇文件; 3,彈框選擇文件類型; 4,選擇類型后確定上傳; 一,上傳 跳過; 二,定義彈框下拉框…

Coolmuster Android Assistant: 手機數據管理的全能助手

在數字化時代,智能手機不僅是通訊工具,更是個人數據的中心。隨著數據量的不斷增加,如何有效管理和保護這些數據成為了一個重要議題。Coolmuster Android Assistant應運而生,它是一款專為安卓用戶設計的綜合數據管理軟件&#xff0…

EXCEL數據透視圖中的日期字段,怎樣自動分出年、季度、月的功能?

在excel里,這個果然是有個設置的地方,修改后就好了。 點擊文件選項卡,選項,在高級里,將圖示選項的勾選給取消,然后再創建數據透視表或透視圖,日期就不會自動組合了: 這個選項只對新…

遙感圖像的深度學習的任務類型

在遙感圖像的深度學習任務中,利用深度學習技術處理和分析遙感圖像已經成為一個重要的研究方向。遙感圖像來自衛星、無人機等設備,包含了豐富的地球表面信息。以下是遙感圖像深度學習中的主要任務類型: 1. 圖像分類(Image Classif…

Flutter 中的 SliverPrototypeExtentList 小部件:全面指南

Flutter 中的 SliverPrototypeExtentList 小部件:全面指南 Flutter 是一個功能強大的 UI 框架,由 Google 開發,允許開發者使用 Dart 語言構建跨平臺的移動、Web 和桌面應用。在 Flutter 的豐富組件庫中,SliverPrototypeExtentLis…

山東理工大學第十六屆ACM程序設計競賽(同步賽)

山東理工大學第十六屆ACM程序設計競賽(同步賽) B、Q的網課 1、創建一個結構體,來保存我們要輸入的網課名和學時,并且對學時初始化為-1 2、然后w次輸入網課名,對每次輸入減去原先網課名對應學時,統計網課剩余…

關于torch.size和tensor的維度筆記

torch.Size([200, 1])和torch.Size([200])的區別是什么? torch.Size([200, 1]) 和 torch.Size([200]) 是兩個不同形狀的張量 (tensor) 大小。它們的區別如下: torch.Size([200, 1]): 這是一個2D張量,形狀是200行1列。這種形狀通常用來表示一個列向量或…

suffix-tree教程(個人總結)

背景 在計算機科學和生物信息學中,字符串處理是一個非常重要的領域。無論是搜索引擎、基因序列分析,還是壓縮算法,都離不開高效的字符串處理。傳統的字符串匹配算法,如暴力搜索、Knuth-Morris-Pratt (KMP) 算法和 Boyer-Moore 算…

Android14 WMS-IWindow介紹

IWindow是很重要的,官方介紹是API back to a client window that the Window Manager uses to inform it of interesting things happening. 也就是說是是用于WMS回調客戶端的,當窗口有一些改變時,WMS及時調用客戶端接口,讓客戶端…

Ubuntu22.04之解決:忘記登錄密碼(二百三十二)

簡介: CSDN博客專家,專注Android/Linux系統,分享多mic語音方案、音視頻、編解碼等技術,與大家一起成長! 優質專欄:Audio工程師進階系列【原創干貨持續更新中……】🚀 優質專欄:多媒…

gpt-4o api申請開發部署應用:一篇全面的指南

利用 GPT-4o API 開發創新應用:一篇全面的指南 OpenAI 的 GPT-4o 是一款集成了音頻、視覺和文本處理能力的多模態人工智能模型,它的出現代表了人工智能領域的重大進步。在本篇文章中,我們將詳細介紹如何通過 OpenAI API 使用 GPT-4o&#xf…

html中 table的 colspan和rowspan

Colspan 單元格跨越多列; Rowspan 單元格跨越多行 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title></title> </head> <body><h4>單元格跨兩列:</h4> <table border"1"&…

藍橋杯java組-字符串輸入輸出處理

題目描述&#xff1a;字符串的輸入輸出處理。 輸入&#xff1a;第一行是一個正整數N&#xff0c;最大為100。之后是多行字符串&#xff08;行數大于N&#xff09;&#xff0c; 每一行字符串可能含有空格&#xff0c;字符數不超過1000。 輸出&#xff1a;先將輸入中的前N行字符…

云動態摘要 2024-05-31

給您帶來云廠商的最新動態&#xff0c;最新產品資訊和最新優惠更新。 最新優惠與活動 [1.5折起]年中盛惠--AI分會場 騰訊云 2024-05-30 人臉核身、語音識別、文字識別、數智人、騰訊混元等熱門AI產品特惠&#xff0c;1.5折起 云服務器ECS試用產品續用 阿里云 2024-04-14 云…

鴻蒙開發接口媒體:【@ohos.multimedia.medialibrary (媒體庫管理)】

媒體庫管理 說明&#xff1a; 該組件從API Version 6開始支持。后續版本如有新增內容&#xff0c;則采用上角標單獨標記該內容的起始版本。 發前請熟悉鴻蒙開發指導文檔&#xff1a; gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復制轉到。 導入模塊 …

2.4 Docker部署JDK

2.4 Docker部署JDK jdk17部署&#xff08;自定義鏡像&#xff09; 1.在官網上下載jdk-17_linux-x64_bin.tar.gz&#xff0c;并安裝到/usr/local目錄下 cd /usr/local2.創建Dockerfile vim Dockerfile# 基于官方的Ubuntu 20.04鏡像作為基礎鏡像 FROM ubuntu:20.04# 設置環境…

【python深度學習】——大型工程項目管理以及互相導入

【python深度學習】——大型工程項目管理以及互相導入 1. 工程項目中常見的文件組織形式2. python中的“包”、“模塊”、與__init__.py2.1 概念理解2.2 \__init__py的使用3. 包的導入——相對導入與絕對導入3.1 相對導入3.1.1 相對導入的語法3.1.2 相對導入的使用注意事項與常…