Anaconda基本操作和常见问题
conda是一个流行的开源包管理和环境管理工具,用于在Python环境中管理软件包和创建隔离的开发环境。它主要由Anaconda提供,但也可以作为独立的工具安装和使用。以下是一些关于在Python中使用Conda的常见应用和可能遇到的问题。
1 Anaconda安装
1.1 Windows安装
第一步:访问Anaconda官方网站
https://www.anaconda.com/download-success
第二步:安装
- Windows系统:
1)双击下载的安装程序;
2)下一步;
3)同意;
4)按照安装向导的提示,选择"Just Me"(仅安装给当前用户)或者"All Users"(安装给所有用户)。
注意:这里我建议选择"Just Me",理由是不需要配置环境变量,而且效果都一样;
5)选择安装路径,默认情况下会安装在C:\Users\LeeWentsao\anaconda3目录下。
注意:更换默认路径的目的是防止C盘内存放满。
4)全部勾选,点击安装即可。
1.2 Linux安装
第一步:下载安装脚本
从Miniconda的官方网站下载Miniconda安装脚本。您可以选择适合您系统的Miniconda安装脚本:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
│ ├─ wget
│ └─ wget: 用于在终端中下载文件的命令行工具。它通常用于从互联网上获取文件。
│ ├─ https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
│ └─ 下载的文件的URL。
第二步:运行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh
│ ├─ bash
│ └─ bash: 用于运行 Bash shell 脚本的命令。通常bash 命令用于执行后面指定的脚本文件。
│ ├─ Miniconda3-latest-Linux-x86_64.sh
│ └─ Miniconda 安装脚本文件的名称。它通常是一个 Shell 脚本。
第三步:刷新配置文件
source ~/.bashrc
│ ├─ source
│ └─ source: Bash 内置命令,也可以用 . 代替。使文件中的设置和环境变量生效。
│ ├─ ~/.bashrc
│ └─ 这是一个文件路径,表示用户的 Bash shell 配置文件。每个登录到系统的用户都可以拥有一个 .bashrc 文件,它通常位于用户的主目录(~ 表示用户的主目录)。.bashrc 文件包含了一些用户特定的配置选项、环境变量、别名以及其他 shell 设置。
source ~/.bashrc 的目的是重新加载用户的 Bash shell 配置文件,以确保其中的设置和环境变量对当前 shell 会话生效。
2 Anaconda镜像源配置
2.1 命令配置镜像源(成功的概率很低)
conda config --remove-key channels
conda config --add channels defaults
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --set show_channel_urls yes
2.2 修改.condarc文件配置镜像源(太low)
要修改 Anaconda 的镜像源配置,需要编辑 .condarc 文件。这个文件通常位于您的用户主目录下(例如,C:\Users\Lee Wen-tsao)。如果您没有在用户主目录下找到该文件,您可以创建一个新的 .condarc 文件,并添加如下内容:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
- https://mirrors.aliyun.com/anaconda/pkgs/free/
- https://mirrors.huaweicloud.com/anaconda/pkgs/free/
- https://repo.anaconda.com/pkgs/main/
- defaults
show_channel_urls: true
2.3 配置pip镜像源(最优选择)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
├── pip
Python包管理工具的命令。它用于查找、下载和安装 Python 包。
├── config
pip命令的子命令,用于配置pip的不同选项,包括镜像源、代理设置等。
├── set
config子命令的一个选项,用于设置指定选项的值。
├── global.index-url
设置的选项名称。global.index-url是一个 pip配置选项,用于指定默认的包索引地址,也就是用于查找Python包的URL。
├── https://pypi.tuna.tsinghua.edu.cn/simple
在这个示例中,将全局的包索引地址设置为清华大学的镜像源(https://pypi.tuna.tsinghua.edu.cn/simple)。这意味着当使用pip 安装Python包时,pip将从清华大学的镜像源下载包,而不是默认的官方源。
3 虚拟环境的基本操作
3.1 陈列所有已经创建的虚拟环境(经常使用)
输入以下命令用于列出所有已经创建的conda虚拟环境,以及当前活动的虚拟环境。
conda env list
├── conda
Anaconda/Miniconda包管理工具的命令,用于创建、管理和维护虚拟环境以及安装软件包.
├── env
conda的子命令,用于与虚拟环境相关的操作,例如创建、列出和删除虚拟环境.
conda info --envs
├── conda
Anaconda/Miniconda包管理工具的命令,用于创建、管理和维护虚拟环境以及安装软件包.
├── info
显示有关 Conda 安装的信息.
├── --envs
显示的环境信息.
运行结果1如下:
C:\Users\LeeWentsao>conda env list
# conda environments:
#
base D:\anaconda3
beijing D:\anaconda3\envs\beijing
chengzong D:\anaconda3\envs\chengzong
dl D:\anaconda3\envs\dl
free-env D:\anaconda3\envs\free-env
henan D:\anaconda3\envs\henan
zhongye D:\anaconda3\envs\zhongye
运行结果2如下:
(beijing) C:\Users\LeeWentsao>conda info --envs
# conda environments:
#
base D:\anaconda3
beijing * D:\anaconda3\envs\beijing
chengzong D:\anaconda3\envs\chengzong
dl D:\anaconda3\envs\dl
free-env D:\anaconda3\envs\free-env
henan D:\anaconda3\envs\henan
zhongye D:\anaconda3\envs\zhongye
3.2 创建虚拟环境(经常使用)
第一步:使用快捷键 Win + R,并输入
c
m
d
cmd
cmd,进入Windows 操作系统中的命令提示符窗口:
图 1 命令行界面
第二步:输入以下命令来创建一个名为"myenv的虚拟环境"(myenv可以替换你想要的环境名称):
conda create --name myenv python=3.8
├── conda create
用于创建新的虚拟环境。
├── --name myenv
用于指定创建的新环境的名称。在这个例子中,环境名称被设置为"myenv",可以根据需要自定义。
├── python=3.8
指定了要在新环境中安装的Python版本。在这个例子中,Python版本被设置为3.8。
![](https://img-blog.csdnimg.cn/2c3906ca5d1d4e42a9fc0e5467b8b00e.png#pic_center)
图 2 创建的dl环境
3.3 激活虚拟环境(经常使用)
输入以下命令,激活创建的虚拟环境"myenv":
conda activate myenv
├── conda
Anaconda/Miniconda包管理工具的命令,用于创建、管理和维护虚拟环境以及安装软件包.
├── activate
conda的子命令,用于激活虚拟环境.
├── myenv
虚拟环境名称.
3.4 删除虚拟环境(不常用)
下面这个命令用于从 conda 环境中移除指定名称的虚拟环境。
conda env remove --name "环境名称"
├── conda
Anaconda/Miniconda包管理工具的命令,用于创建、管理和维护虚拟环境以及安装软件包.
├── env
conda的子命令,用于与虚拟环境相关的操作,例如创建、列出和删除虚拟环境.
├── remove
env 子命令的一个选项,表示从系统中删除指定的虚拟环境.
├── --name
remove子命令的一个选项,用于指定要删除的虚拟环境的名称.
4 安装依赖
4.1 手动安装(没有配置镜像源的情况下,不建议使用)
激活环境myenv,然后输入以下命令:
pip install 依赖名称
其中,将 “依赖名称” 替换为您想要安装的实际依赖包的名称。如果您需要安装特定版本的依赖,可以在依赖名称后面加上版本号,如:
pip install 依赖名称==版本号
4.2 临时安装(添加单个依赖)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package-name
从清华大学镜像源下载并安装指定的包。在这种情况下,-i 选项覆盖了全局配置,只在这次安装中使用了特定的镜像源。
4.3 批量安装(项目首选)
如果想要从一个配置文件(通常是一个包含依赖列表的文本文件)中批量安装依赖,可以使用以下命令:
pip install -r requirement.txt
或
pip install --no-cache -r requirements.txt
├── pip install
pip安装命令
├── --no-cache
通常情况下,pip会在本地缓存已下载的包,以便在以后的安装中重复使用。这个选项告诉pip不要使用缓存来存储已下载的包。使用这个选项可以强制pip从远程服务器重新下载所有的包,而不使用本地缓存。
├── -r requirements.txt
pip从一个名为 requirements.txt 的文本文件中读取依赖列表,并安装其中列出的所有依赖。这是一种常见的做法,用于一次性安装项目所需的所有依赖。
![](https://img-blog.csdnimg.cn/3242f063671f436b88970a2bd1c1e861.png#pic_center)
图 3 requiements内容展示
4.4 离线安装(部署环境首选)
离线安装是指在没有网络连接的情况下,通过提前下载所需的软件包,然后将这些软件包传输到目标计算机进行安装。这在没有网络连接或网络不稳定的环境中非常有用。以下是在离线环境中使用 pip
进行离线安装的基本步骤:
步骤1:在有网络连接的机器上,使用 pip
命令将所需的 Python 包及其依赖项下载到一个文件夹中。例如:
pip download -d ./offline/ package-name
├── pip
Python包管理工具的命令,用于查找、下载和安装 Python 包。
├── download
pip命令的子命令,用于下载指定的 Python 包及其依赖项。
├── -d ./offline/
download子命令的一个选项,它指定下载的包应该保存在哪个目录。在这个示例中,-d 选项后面是一个路径 ./offline/,表示下载的包将保存在当前目录下的 offline 子目录中。
├── package-name
要下载的特定Python包的名称。
步骤2:将包文件夹传输到目标离线机器,可以使用移动存储设备(例如 USB 驱动器)或通过网络传输。
步骤3:离线安装,在目标离线机器上进行以下操作:
a. 使用命令行进入包文件夹所在的路径。
b. 使用 pip
命令进行离线安装。例如:
pip install package-name --no-index --find-links=/path/to/offline/packages
其中,--no-index
告诉 pip
不要从网络上查找软件包,而是只使用本地提供的包文件,--find-links
选项指定了包文件的路径。
5 常见问题
5.1 conda镜像源配置问题
1 1 1. 问题描述
C:\Users\LeeWentsao>conda create --name efvh python=3.10
Retrieving notices: ...working... done
Collecting package metadata (current_repodata.json): failed
UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel pypi/simple <https://mirrors.aliyun.com/pypi/simple>
The channel is not accessible or is invalid.
You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.
2 2 2. 分析问题
UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel pypi/simple <https://mirrors.aliyun.com/pypi/simple>
The channel is not accessible or is invalid.
分析:
在Anaconda配置的镜像源中,命令会按照列表中镜像源逐个尝试,以找到可用的镜像源。当命令提示说某个镜像源不可用时,意味着在尝试该镜像源时出现了问题,可能是该镜像源暂时不可访问、网络连接问题等原因导致。
3
3
3. 解决方案
第一步:使用快捷键
W
i
n
+
R
Win + R
Win+R,并输入
c
m
d
cmd
cmd,进入Windows 操作系统中的命令提示符窗口:
图 1 命令行界面
第二步:输入以下命令来删除当前配置的所有镜像源:
conda config --remove-key channels
第三步:输入以下命令来添加默认的Anaconda镜像源:
conda config --add channels defaults
conda config --add channels conda-forge
第四步:输入以下命令来添加其他镜像源,这里以清华镜像源为例:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
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/cloud/msys2/
5.2 pip镜像源配置问题
1 1 1. 问题描述
(efvh) C:\Users\LeeWentsao>pip install numpy
Collecting numpy
Obtaining dependency information for numpy from https://files.pythonhosted.org/packages/b7/db/4d37359e2c9cf8bf071c08b8a6f7374648a5ab2e76e2e22e3b808f81d507/numpy-1.25.2-cp310-cp310-win_amd64.whl.metadata
Downloading numpy-1.25.2-cp310-cp310-win_amd64.whl.metadata (5.7 kB)
Downloading numpy-1.25.2-cp310-cp310-win_amd64.whl (15.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.1/15.6 MB 56.5 kB/s eta 0:04:34
ERROR: Exception:
Traceback (most recent call last):
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_vendor\urllib3\response.py", line 438, in _error_catcher
yield
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_vendor\urllib3\response.py", line 561, in read
data = self._fp_read(amt) if not fp_closed else b""
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_vendor\urllib3\response.py", line 527, in _fp_read
return self._fp.read(amt) if amt is not None else self._fp.read()
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 90, in read
data = self.__fp.read(amt)
File "D:\anaconda3\envs\efvh\lib\http\client.py", line 466, in read
s = self.fp.read(amt)
File "D:\anaconda3\envs\efvh\lib\socket.py", line 705, in readinto
return self._sock.recv_into(b)
File "D:\anaconda3\envs\efvh\lib\ssl.py", line 1274, in recv_into
return self.read(nbytes, buffer)
File "D:\anaconda3\envs\efvh\lib\ssl.py", line 1130, in read
return self._sslobj.read(len, buffer)
TimeoutError: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_internal\cli\base_command.py", line 180, in exc_logging_wrapper
status = run_func(*args)
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_internal\cli\req_command.py", line 248, in wrapper
return func(self, options, args)
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_internal\commands\install.py", line 377, in run
requirement_set = resolver.resolve(
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 161, in resolve
self.factory.preparer.prepare_linked_requirements_more(reqs)
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_internal\operations\prepare.py", line 565, in prepare_linked_requirements_more
self._complete_partial_requirements(
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_internal\operations\prepare.py", line 479, in _complete_partial_requirements
for link, (filepath, _) in batch_download:
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_internal\network\download.py", line 183, in __call__
for chunk in chunks:
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_internal\cli\progress_bars.py", line 53, in _rich_progress_bar
for chunk in iterable:
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_internal\network\utils.py", line 63, in response_chunks
for chunk in response.raw.stream(
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_vendor\urllib3\response.py", line 622, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_vendor\urllib3\response.py", line 560, in read
with self._error_catcher():
File "D:\anaconda3\envs\efvh\lib\contextlib.py", line 153, in __exit__
self.gen.throw(typ, value, traceback)
File "D:\anaconda3\envs\efvh\lib\site-packages\pip\_vendor\urllib3\response.py", line 443, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
2 2 2. 分析问题
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
分析:
从上面命令提示可以看出,这个是由于网速较慢原因导致请求超时。默认情况下,pip会连接到美国的PyPI服务器,这可能会导致在国内安装依赖包时速度变慢。
3 3 3. 解决方案
方案一:
开启VPN后,安装依赖。
方案二:
临时输入以下命令安装依赖,例如numpy:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
pip install
├── 使用pip工具来安装Python库;
-i https://pypi.tuna.tsinghua.edu.cn/simple
├── pip install命令的一个参数,用于指定要使用的镜像源的URL。在这个特定的命令中,我们使用了清华大学镜像源的URL。-i表示镜像源(index);
numpy
├── 这是要安装的Python库的名称。
方案三:
1)在全局配置中,将PyPI的默认镜像源修改为国内镜像源,输入以下命令即可:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set
├── 使用pip工具来设置配置的命令;
global.index-url
├── 设置的配置项的名称。在该命令中,设置全局的镜像源URL,以便将来所有使用pip的操作都使用这个镜像源;
https://pypi.tuna.tsinghua.edu.cn/simple
├── 这是要设置的镜像源的URL。在这个例子中,设置为清华大学镜像源的URL。
2)常见镜像源url
中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学:http://pypi.hustunique.com/simple/
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
上海交通大学:https://mirror.sjtu.edu.cn/pypi/web/simple/
豆瓣:http://pypi.douban.com/simple/
5.3 Powershell无法激活虚拟环境
- 问题描述:在powershell窗口中无法激活Anaconda创建的虚拟环境。
- 解决方案:
(1) Win + R 打开运行对话框;
(2) 输入powershell,打开Powershell窗口;
(3) 查看当前执行策略
Get-ExecutionPolicy
如果返回结果是Restricted,进行下一步:
(4) 由于Powershell的执行策略限制了脚本的执行,所以影响conda的正常运行;
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Set-ExecutionPolicy: 设置执行策略
-ExecutionPolicy RemoteSigned: 命令参数,指定要设置的执行策略为RemoteSigned:在本地计算机上创建的脚本需要由受信任的发布者签名,而从远程计算机下载的脚本不需要签名。这样设置的目的是方便您从可信任的远程位置获取脚本,并在本地计算机运行它们,而无需进行繁琐的签名过程。
-Scope CurrentUser: 命令参数,指定要更改执行策略的范围为当前用户。
(5) Conda初始化;
初始化终端为Powershell
conda init powershell
(6) 重启Powershell.
5.4 .condarc文件配置错误
- 错误描述:
C:\Users\Lee Wen-tsao>conda create --name machineLearning python=3.10
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.Collecting package metadata (repodata.json): done
Solving environment: failed
PackagesNotFoundError: The following packages are not available from current channels:
- python=3.10
Current channels:
- https://conda.anaconda.org/conda-forge/win-64
- https://conda.anaconda.org/conda-forge/noarch
- https://repo.anaconda.com/pkgs/main/win-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/win-64
- https://repo.anaconda.com/pkgs/r/noarch
- https://repo.anaconda.com/pkgs/msys2/win-64
- https://repo.anaconda.com/pkgs/msys2/noarch
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
- 分析:
PackagesNotFoundError: The following packages are not available from current channels
通过报错可以看出,当前没有可用镜像源。
- 解决方案:替换.condarc文件中的内容
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
ssl_verify: true
show_channel_urls: true
5.5 pip升级
- 错误描述:
(base) [root@gwah jar]# pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com tensorflow==2.1.0
Collecting tensorflow==2.1.0
Could not find a version that satisfies the requirement tensorflow==2.1.0 (from versions: 0.12.1, 1.0.0, 1.0.1, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.9.0, 1.10.0, 1.10.1, 1.11.0, 1.12.0, 1.12.2, 1.12.3, 1.13.1, 1.13.2, 1.14.0)
No matching distribution found for tensorflow==2.1.0
You are using pip version 9.0.3, however version 23.2.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
- 分析:
如上述所示,pip 版本较旧,建议升级 pip 到最新版本,因为较新的 pip 版本可能会更好地支持依赖关系解析和包管理。建议使用 ‘pip install --upgrade pip’ 命令升级。 - pip install --upgrade pip升级错误描述:
(base) [root@gwah jar]# pip3 install --upgrade pip
Cache entry deserialization failed, entry ignored
Collecting pip
Cache entry deserialization failed, entry ignored
Downloading https://files.pythonhosted.org/packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (1.7MB)
16% |█████▏ | 276kB 18kB/s eta 0:01:21Exception:
Traceback (most recent call last):
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 302, in _error_catcher
yield
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 384, in read
data = self._fp.read(amt)
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 60, in read
data = self.__fp.read(amt)
File "/root/training/Python-3.6.5/lib/python3.6/http/client.py", line 449, in read
n = self.readinto(b)
File "/root/training/Python-3.6.5/lib/python3.6/http/client.py", line 493, in readinto
n = self.fp.readinto(b)
File "/root/training/Python-3.6.5/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)
File "/root/training/Python-3.6.5/lib/python3.6/ssl.py", line 1009, in recv_into
return self.read(nbytes, buffer)
File "/root/training/Python-3.6.5/lib/python3.6/ssl.py", line 871, in read
return self._sslobj.read(len, buffer)
File "/root/training/Python-3.6.5/lib/python3.6/ssl.py", line 631, in read
v = self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/commands/install.py", line 324, in run
requirement_set.prepare_files(finder)
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/req/req_set.py", line 620, in _prepare_file
session=self.session, hashes=hashes)
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/download.py", line 821, in unpack_url
hashes=hashes
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/download.py", line 659, in unpack_http_url
hashes)
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/download.py", line 882, in _download_http_url
_download_url(resp, link, content_file, hashes)
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/download.py", line 603, in _download_url
hashes.check_against_chunks(downloaded_chunks)
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/utils/hashes.py", line 46, in check_against_chunks
for chunk in chunks:
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/download.py", line 571, in written_chunks
for chunk in chunks:
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/utils/ui.py", line 139, in iter
for x in it:
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/download.py", line 560, in resp_read
decode_content=False):
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 436, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 401, in read
raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
File "/root/training/Python-3.6.5/lib/python3.6/contextlib.py", line 99, in __exit__
self.gen.throw(type, value, traceback)
File "/root/training/Python-3.6.5/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 307, in _error_catcher
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
You are using pip version 9.0.3, however version 23.2.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
- 分析:网络问题
- 解决方案:
第一种:
pip install --upgrade pip --index-url https://pypi.tuna.tsinghua.edu.cn/simple
第二种:
python -m pip install –upgrade pip
5.5 anaconda环境变量配置错误
- 错误描述
C:\Users\LeeWentsao>conda activate dl
usage: conda-script.py [-h] [--no-plugins] [-V] COMMAND ...
conda-script.py: error: argument COMMAND: invalid choice: 'activate' (choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'build', 'content-trust', 'convert', 'debug', 'develop', 'doctor', 'index', 'inspect', 'metapackage', 'render', 'skeleton', 'pack', 'verify', 'token', 'server', 'env', 'repo')
- 分析:首先确定conda-script.py文件的位置下图所示。由于该文件属于anaconda内部文件并且出现错误,因此可断定conda-script.py文件的路径出现问题。
- 解决方案:
步骤一: 搜索系统环境变量;
步骤二: 点击系统变量中的Path变量;
步骤三: 先点击Scripts路径,然后点击删除。
5.6 查看未安装依赖版本号
pip index versions pyarmor
pyarmor (8.5.2)
Available versions: 8.5.2, 8.5.1, 8.5.0, 8.4.7, 8.4.6, 8.4.5, 8.4.4, 8.4.3, 8.4.2, 8.4.1, 8.4.0, 8.3.11, 8.3.10, 8.3.9, 8.3.8, 8.3.7, 8.3.6, 8.3.5, 8.3.4, 8.3.3, 8.3.2, 8.3.1, 8.3.0, 8.2.9, 8.2.8, 8.2.7, 8.2.6, 8.2.5, 8.2.4, 8.2.3, 8.2.2, 8.2.1, 8.2.0, 8.1.9, 8.1.8, 8.1.7, 8.1.6, 8.1.5, 8.1.4, 8.1.3, 8.1.2, 8.1.1, 8.1.0, 8.0.26, 8.0.25, 8.0.22, 8.0.21, 8.0.20, 8.0.19, 8.0.18, 8.0.17, 8.0.16, 8.0.15, 8.0, 7.7.4, 7.7.3, 7.7.2, 7.7.1, 7.7.0, 7.6.1, 7.6.0, 7.5.1, 7.5.0, 7.4.3, 7.4.2, 7.4.1, 7.4.0, 7.3.6, 7.3.5, 7.3.4, 7.3.3, 7.3.2, 7.3.1, 7.3.0, 7.2.4, 7.2.3, 7.2.2, 7.2.1, 7.2.0, 7.1.2, 7.1.1, 7.1.0, 7.0.3, 7.0.2, 7.0.1, 6.8.1, 6.8.0, 6.7.4, 6.7.3, 6.7.2, 6.7.1, 6.7.0, 6.6.2, 6.6.1, 6.6.0, 6.5.6, 6.5.5, 6.5.4, 6.5.3, 6.5.2, 6.5.1, 6.5.0, 6.4.4, 6.4.3, 6.4.2, 6.4.1, 6.4.0, 6.3.7, 6.3.6, 6.3.5, 6.3.4, 6.3.3, 6.3.2, 6.3.1, 6.3.0, 6.2.9, 6.2.8, 6.2.7, 6.2.6, 6.2.5, 6.2.4, 6.2.3, 6.2.2, 6.2.1, 6.2.0, 6.1.0, 6.0.2, 6.0.1, 5.9.8, 5.9.7, 5.9.6, 5.9.5, 5.9.4, 5.9.3, 5.9.2, 5.9.1, 5.9.0, 5.8.9, 5.8.8, 5.8.7, 5.8.6, 5.8.5, 5.8.4, 5.8.3, 5.8.2, 5.8.1, 5.8.0, 5.7.10, 5.7.9, 5.7.8, 5.7.7, 5.7.6, 5.7.5, 5.7.4, 5.7.3, 5.7.2, 5.7.1, 5.7.0, 5.6.8, 5.6.7, 5.6.6, 5.6.5, 5.6.4, 5.6.3, 5.6.2, 5.6.1, 5.6.0, 5.5.7, 5.5.6, 5.5.5, 5.5.4, 5.5.3, 5.5.2, 5.5.1, 5.5.0, 5.4.6, 5.4.5, 5.4.4, 5.4.3, 5.4.2, 5.4.1, 5.4.0, 5.3.13, 5.3.12, 5.3.11, 5.3.10, 5.3.9, 5.3.8, 5.3.7, 5.3.6, 5.3.5, 5.3.4, 5.3.3, 5.3.2, 5.3.1, 5.3.0, 5.2.9, 5.2.8, 5.2.7, 5.2.6, 5.2.5, 5.2.4, 5.2.3, 5.2.2, 5.2.1, 5.2.0, 5.1.2, 5.1.1, 5.1.0, 5.0.5, 5.0.4, 5.0.3, 5.0.2, 5.0.1, 4.6.3, 4.6.2, 4.6.1, 4.6.0, 4.5.5, 4.5.4, 4.5.3, 4.5.2, 4.5.1, 4.5.0, 4.4.3, 4.4.2, 4.4.1, 4.4.0, 4.3.4, 4.3.3, 4.3.2, 4.3.1, 4.3.0, 4.2.3, 4.2.2, 4.2.1, 4.1.4, 4.1.3, 4.1.2, 4.1.1, 4.0.3, 4.0.2, 4.0.1, 3.9.9, 3.9.8, 3.9.7, 3.9.6, 3.9.5, 3.9.4, 3.9.3, 3.9.2, 3.9.1, 3.9.0, 3.8.10, 3.8.9, 3.8.8, 3.8.7, 3.8.6, 3.8.5, 3.8.4, 3.8.3, 3.8.2, 3.8.1, 3.8.0, 3.7.5, 3.7.4, 3.7.3, 3.7.2, 3.7.1, 3.7.0, 3.6.2, 3.6.1, 3.6.0, 3.5.1, 3.5.0, 3.4.3, 3.4.2, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.1, 3.2.0, 3.1.7, 3.1.6, 3.1.5, 3.1.4, 3.1.3, 3.1.2, 3.1.1, 3.0.1, 2.6.1, 2.5.5, 2.5.3, 2.5.2, 2.5.1, 2.4.1, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.2.1, 2.1.2, 2.1.1, 2.0.1, 1.7.7, 1.7.6, 1.7.5, 1.7.4, 1.7.3, 1.7.2
INSTALLED: 8.5.2
LATEST: 8.5.2
5.7 conda 环境未正确初始化
- 错误描述
CondaError: Run 'conda init' before 'conda activate'
- 解决办法
参考~5.3