环境搭建 | Python+Anaconda/Miniconda+PyCharm的安装、配置与使用,详细介绍 Python 环境搭建的全过程,以官方文档为参照,使用经验为补充,内容全面而详实,附教程!

本文将分别介绍 Python、Anaconda/Miniconda、PyCharm 的安装、配置与使用,详细介绍 Python 环境搭建的全过程,涵盖 Python、Pip、Python Launcher、Anaconda、Miniconda、Pycharm等内容,以官方文档为参照,使用经验为补充,内容全面而详实,后附本教程文档,共20多页5000余字。

Python 的安装与配置

下载

访问 Python官网,进入下载页面,选择合适的版本。

如图 1.1 所示,在 Python 官网的下载页面,可以选择操作系统和版本。

以 Windows 为例,下载页面提供了直接下载最新版本的入口,点击 Download 即可下载 exe 安装程序。

在这里插入图片描述

图1.1 Python 官网 -下载页面

如果需要下载 Python 的其他版本,则下滑动下载页面,如图 1.2 所示,可以看到 Python 的各个发行版本,选择所需版本,点击右侧 Download,进入相应版本详情页面,下滑详情页面,找到 Files 栏,如图 1.3 所示。
在这里插入图片描述

图1.2 Python 各发行版本
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cea33135be094d8baacdf721a86cc35a.png#pic_center)
图1.3 Python 版本详情

版本详情页面的 Files 栏如图 1.3 所示,可以看到有多个下载链接,该如何选择呢?

版本操作系统说明
Gzipped source tarballLinux.tgz 格式压缩包
XZ compressed source tarballLinux.tar.xz 格式压缩包
macOS 64-bit universal2 installer64位 macOS.pkg 格式安装程序
Windows installer (64-bit)64位 Windows,x86 架构.exe 格式安装程序
Windows installer (32-bit)32位 Windows,x86 架构.exe 格式安装程序
Windows installer (ARM64)64位 Windows,arm架构.exe 格式安装程序
Windows embeddable package (64-bit)64位 Windows,x86 架构.zip 格式压缩包
Windows embeddable package (32-bit)32位 Windows,x86 架构.zip 格式压缩包
Windows embeddable package (ARM64)64位 Windows,arm架构.zip 格式压缩包

目前仅介绍 Windows 下的安装,后续有需要再更新 Linux 下的安装,以下均以 Windows 为例。

安装程序和压缩包的区别可参考 在 Windows 上使用 Python,主要区别在于,相对于安装包,压缩包不包含 Tcl/tk、pip、Python 文档。还有就是,使用安装包安装,用户可以通过图形化界面完成某些配置,使用压缩包安装,用户需要手动显式完成这些配置。

The standard library is included as pre-compiled and optimized .pyc files in a ZIP, and python3.dll, python37.dll, python.exe and pythonw.exe are all provided. Tcl/tk (including all dependents, such as Idle), pip and the Python documentation are not included.

From Using Python on Windows - Python Documentation

以下分别介绍安装包安装(新手)和压缩包安装。

安装程序安装

双击 exe 安装程序,进入图 1.4 所示界面。

图1.4 安装程序安装 Python - 默认安装 OR 自定义安装

Install Now:立即安装,使用默认安装配置,包括安装路径、安装选项。

  • IDLE:Integrated Development and Learning Environment,集成开发与学习环境,在其中可以完成编写、运行、调试代码,详情参照 IDLE - Python文档
  • pip:pip 是一个现代的,通用的 Python 包管理工具,详情参照 pip · PyPI,pip 的配置与使用见后文。

Customize installation:自定义安装,指定安装位置和安装选项。

Use admin privileges when installing py.exe:以管理员权限安装 Python,若勾选,则安装后当前电脑的其他用户可直接使用 Python,若不勾选,则此次安装的 python 仅当前用户可以使用。虽然 Windows 支持多用户,但个人电脑一般就只会创建一个用户,所以这里我选择不勾选。

Add python.exe to PATH:将 python.exe 添加到系统环境变量,添加之后,在系统的任何路径下均可直接使用 python 命令。为避免后续手动设置环境变量,此项可勾选,但为了演示设置环境变量,这里我选择不勾选。

点击 Customize installation,进入图 1.5 所示界面。

图1.5 安装程序安装 Python - 自定义安装选项

Documentation:Python 文档。文档可在线查阅和下载,可选可不选。

pip:Python包管理工具,勾选。

tcl/tk and IDLE:tcl/tk 与构建图形界面相关,tkinter 是标准 GUI 库,是 tcl/tk 工具包的 Python 接口。IDLE 是 Python 的集成开发与学习环境。若需要 tkinter,可手动下载,集成开发环境一般使用 PyCharm,故此项不勾选。

Python test suite:Python 测试套件。测试套件标准库可在有需要的时候手动安装,故此项不勾选。

py launcher:Python 启动器,当安装有多个版本的 Python 时,可通过 py 命令指定执行脚本的 Python 解释器,详细介绍见后文。由于未找到单独下载 py launcher 的入口,此项先勾选。

for all users (requires admin privileges):若勾选,则系统中的所有用户均可直接使用该 py launcher,该项与图 4 中的 Use admin privileges when installing py.exe 勾选状态是同步的,故此项不勾选。

点击 Next,进入图 1.6 所示界面。

图1.6 安装程序安装 Python - 高级选项与安装位置

Install Python 3.12 for all users:为所有用户安装。不勾选。

Associate files with Python (requires the ‘py’ launcher):关联 .py 等文件,需要安装 py launcher,关联后,双击 .py 等文件,可直接调用 py launcher 执行。

Create shortcuts for installed applications:创建快捷方式。没必要,不勾选。

Add Python to environment variables:将 Python 添加到系统环境变量。后续可手动添加,不勾选。

Precompile standard library:预编译标准库。提升编译速度,一般感知不明显,不勾选。

Download debugging symbols:下载调试模块。通常使用 PyCharm 开发、调试,不需要,不勾选。

Download debug binaries (requires VS 2017 or later):下载调试库。适用 VS,常使用 PyCharm 开发、调试,不需要,不勾选。

Customize install location:自定义安装位置。建议路径不要包含中文和空格,可能会出现问题。

点击 Install,等待安装成功即可,安装成功的界面如图 1.7 所示。

图1.7 安装程序安装 Python - 安装成功

online tutorial:在线教程。

documentation:Python 文档。

Disable path length limit:Windows 将路径长度限制为 260 个字符,长度超过此长度的路径将无法解析。最新版本的 Windows 可将限制调整为约 32000 个字符,可通过开启 Enable Win32 long paths 组策略或者设置注册表中 LongPathsEnabled1HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 的值修改长度限制。当然,在该界面直接点击该项即可禁用长度限制。

配置环境变量

由于在安装的过程中并没有勾选将 Python 添加到环境变量,所以无法全局执行 Python 命令,需要手动设置环境变量。

搜索栏搜索“环境变量”,进入 ⌈系统属性⌋, ⌈高级⌋, ⌈环境变量⌋,进入如图 1.8 所示界面。

图1.8 环境变量界面

点击 ⌈系统变量⌋ 下的 ⌈新建⌋,变量名为 PYTHON_HOME,变量值为 Python 的安装路径,如图 1.9 所示,点击“确定”。

图1.9 添加环境变量

在 ⌈系统变量⌋ 下,找到变量名为 Path 的变量,双击,进入如图 1.10 所示界面。

图1.10 Path 变量各项

点击 ⌈新建⌋,添加如下两项,如图 1.11 所示,点击“确定”。

%PYTHON_HOME%
%PYTHON_HOME%\Scripts

python.exe%PYTHON_HOME% 下,pip.exe 等命令在 %PYTHON_HOME%\Scripts 下,所以需要将这两项添加到 Path

图1.11 添加项到 Path

还有两个因为设置环境变量而打开的窗口,均需点击 ⌈确定⌋,不要直接点击 “×” 关闭。

进入 ⌈命令提示符⌋(CMD),输入 python -V,若显示 Python 版本,则说明 Python 安装并配置成功,输入 pip -V,若显示 pip 版本,则说明 pip 安装并配置成功,如图 1.12 所示。

图1.12 检查 Python 和 pip 是否安装并配置成功
Pip 的安装、配置与使用

Pip 官方文档

Pip 的安装

Pip 的安装方式有三种,均是将 pip 安装在 Python 安装目录的 Scripts 目录下,安装完成后需将 Scripts 目录添加到环境变量才能全局使用 pip 命令。Pip 的安装可参照 Installation - pip documentation

方式一:在安装 Python 时勾选 pip。

方式二:将 get-pip.py 文件保存到本地,在 ⌈命令提示符⌋(CMD)中进入 get-pip.py 文件所在目录,执行如下命令。

python get-pip.py

方式三:通过 ensurepip 安装,在 ⌈命令提示符⌋(CMD)中执行如下命令。

python -m ensurepip --upgrade

安装完成后,在 ⌈命令提示符⌋ 中执行 pip -V ,若成功显示版本,则说明安装并配置成功。可通过如下命令更新或更换 Pip 版本。

# 更新最新版本
python -m pip install -U pip
# 更换指定版本
python -m pip install pip==24.2

Pip 的配置

执行 pip install 命令会默认国外网站 https://files.pythonhosted.org/ 下载包,可能会下载失败,可以将下载源修改为国内。

地址
阿里云https://mirrors.aliyun.com/pypi/simple/
中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/
清华大学https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学https://pypi.mirrors.ustc.edu.cn/simple/

在执行 pip install 命令时可指定当前下载的下载源,格式如下:

pip install <包名> -i https://mirrors.aliyun.com/pypi/simple/ 

可通过命令永久修改下载源,命令格式如下:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ 

可通过修改配置文件永久修改下载源。

Windows 下,在 C:\用户\<用户名> 目录下新建 pip\pip.ini 文件,文件内容如下:

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/ 
[install]
trusted-host = mirrors.aliyun.com

Linux 下,文件内容不变,执行如下命令:

mkdir ~.pip
vim ~.pip/pip.conf

Pip 的使用

# 安装,不指定版本则安装最新版
pip install <包名>==<版本>
# 删除
pip uninstall <包名>
# 显示已安装的包
pip list
# 显示已安装的包
pip freeze

pip listpip freeze 区别在于显示格式,更多命令请查阅 Commands - pip documentation

Python Launcher 的安装、配置与使用

Python Launcher 会被默认安装到如下路径,不需要进行配置。

C:\Users\<用户名>\AppData\Local\Programs\Python\Launcher

如果安装有多个版本的 Python,并且需要指定某个版本的 Python 来执行脚本,通过环境变量的方式就显得很不灵活,Python Launcher 应运而生。Python Launcher 详细介绍参照 PEP 397 – Python launcher for WindowsUsing Python on Windows - python-launcher

# 显示已安装的 Python
py --list

假设现有 test.py 文件,其内容如下:

# test.py
import sys
print(sys.version) # 显示当前使用的Python版本
# 使用已安装的最新版 Python 执行
py test.py
# 使用已安装的最新版 Python 3.x 执行,-2 同理
py -3 test.py
# 使用已安装的最新版 Python 3.12.x 执行,-2.x 同理
python -3.12 test.py
# 使用已安装的最新版 Python 执行
py -V:3

# 使用 PythonCore 发布的最新版本 Python 执行
py -V:PythonCore/

# 使用 PythonCore 发布的最新版本 Python 3.x 执行
py -V:PythonCore/3

-x.y-V:Company/Tag 的简写,二者有些许区别。-3 仅从 PythonCore 发布的 Python 中查找,-V:3 会从任何来源发布的 Python 中寻找。

The short form of the argument (-3) only ever selects from core Python releases, and not other distributions. However, the longer form (-V:3) will select from any.

From Using Python on Windows - Python Launcher

.py 文件中也可指定具体版本,格式为 #! 版本,指定版本的语句需位于 .py 文件的所有代码之前(通常为第一行)。

#! python3.12
# test.py
import sys
print(sys.version) # 显示当前使用的Python版本
压缩包安装

将下载好的压缩包解压,复制到指定目录,然后将 python.exe 所在目录添加到环境变量。为了叙述方便,后续将 python.exe 所在目录称也为安装目录。

由于压缩包不包含 pip,所以需要通过方式二安装 pip(不能通过方式三),然后在安装目录的 python×××._path 文件中追加如下一行:

Lib\site-packages

也可以将 python×××._path 文件中 #import site 前的 # 删除,这样,在环境初始化时,会导入 size 模块,该模块会导入将特定路径下的包,其中就包括 Lib\site-packages

别忘记将 Scripts 添加到环境变量,这样 pip 就可以在全局使用了。

Anaconda/Miniconda 的安装、配置与使用

Conda 是包和环境管理工具。

Anaconda 是 Conda 的 Python/R 数据科学发行版,包括 Conda 、Anaconda Navigator(图形化界面)、Python 以及预装的丰富的库。

Miniconda 是 Anaconda 的简化版,包括 Conda、Python 以及预装的少量库。

详情请参照 Anaconda文档

安装

访问 Anaconda 的仓库,如图 2.1 所示,可下载 Anaconda 和 Miniconda。

在这里插入图片描述

图2.1 Anaconda 的仓库

Anaconda 和 Miniconda 的区别前面也有所提及,如图 2.2 所示。图形化界面不太需要,包可以在需要的时候安装,故选择 Miniconda。

在这里插入图片描述

图2.2 Anaconda 和 Miniconda 的区别

Anaconda 和 Miniconda 的区别详细参考Should I use Anaconda Distribution or Miniconda? - Anaconda documentation

国外网站下载速度可能有些慢,可从清华镜像下载 AnacondaMiniconda,镜像的更新可能落后于官网。

下载完成后,双击 exe 进行安装,注意安装过程中的最后一步,如图 2.3 所示。

图2.3 安装过程最后一步

选项一:创建快捷方式。没必要,不勾选。

选项二:将 Miniconda3 添加到环境变量。官方提醒会产生冲突,不勾选。

选项三:将 Miniconda3 设置为主要的 Python,即将 Miniconda3 指定的 Python 解释器设置为本系统默认的 Python 解释器。官方推荐,勾选。

选项四:安装完成后清除缓存。官方推荐,勾选。

配置

配置环境变量

在 ⌈系统变量⌋ 下添加环境变量,变量名为 MINICONDA3_HOME,变量值为 Miniconda3 的安装路径。在 ⌈系统变量⌋ 下的 Path 变量中添加以下五项:

%MINICONDA3_HOME%
%MINICONDA3_HOME%\Scripts
%MINICONDA3_HOME%\Library\bin
%MINICONDA3_HOME%\Library\usr\bin
%MINICONDA3_HOME%\Library\mingw-w64\bin

环境变量如何配置可参考前文 ⌈Python 安装与配置⌋ 中 ⌈配置环境变量⌋ 部分,在 ⌈命令提示符⌋ 中执行 conda -V,若成功显示版本,则说明安装并配置成功。

配置镜像源

Anaconda 默认下载源在国内的访问速度可能较慢,可配置镜像源,以下下载源可供使用:

# 清华大学镜像源
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 
# 中国科技大学下载源
https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
https://mirrors.ustc.edu.cn/anaconda/cloud/

使用 pip install 时可临时指定下载源,命令格式如下:

pip install <包名> -i https://pypi.mirrors.ustc.edu.cn/simple/

通过修改配置文件的方式也可以修改下载源,关于配置文件,详情请参照 Configuration - conda documentation。在 C:\用户\<用户名> 下创建名为 .condarc 的配置文件,内容如下,然后执行 conda clean -i 命令清除索引缓存。

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - 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
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

镜像源各项含义参考 Mirroring channels - conda documentation.condarc 文件内容来自 清华镜像源-Anaconda 镜像使用帮助

其他一些与修改下载源相关的命令

# 添加,会添加到.condarc配置文件的channels项下,与defaults同级
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
# 查看
conda config --show channels
# 删除所有下载源
conda config --remove-key channels
# 在执行安装或者更行包操作时显示下载源
conda config --set show_channel_urls yes
# 查看show_channel_urls的值
conda config --get show_channel_urls

配置环境位置

在 ⌈命令提示符⌋ 中使用 conda create 命令创建环境,环境默认会存放到安装目录的 envs 目录下。但在 Pycharm 使用 Conda 创建环境,环境可能存放到 C:\用户\<用户名>\.conda\envs 下,因此,还需显式在 .condarc 配置文件中指定环境存放位置,在配置文件中追加如下内容:

envs_dirs:
  - D:\Python\Conda

在创建环境时,可使用 --prefix 参数指定当前环境的存放位置。

# 存放到D:\Conda\envs下
conda create --prefix D:\Conda\envs\test python=3.8
使用

Conda 的命令可以参照 Commands - conda documentation,如图 2.4 所示,Conda 提供了许多命令用来管理包和环境。

在这里插入图片描述

图2.4 Conda 的命令

以创建环境的 conda create 命令为例,其用法如下:

usage: conda create [-h] [--clone ENV] [-n ENVIRONMENT | -p PATH] [-c CHANNEL]
                    [--use-local] [--override-channels]
                    [--repodata-fn REPODATA_FNS] [--experimental {jlap,lock}]
                    [--no-lock] [--repodata-use-zst | --no-repodata-use-zst]
                    [--strict-channel-priority] [--no-channel-priority]
                    [--no-deps | --only-deps] [--no-pin] [--copy]
                    [--no-shortcuts] [--shortcuts-only SHORTCUTS_ONLY] [-C]
                    [-k] [--offline] [--json] [-v] [-q] [-d] [-y]
                    [--download-only] [--show-channel-urls] [--file FILE]
                    [--no-default-packages] [--subdir SUBDIR]
                    [--solver {classic}] [-m] [--dev]
                    [package_spec ...]

环境相关

# 查看已创建的环境
conda info -e
conda env list
# 创建名为test的环境,环境存放在配置文件中指定的目录,-y表示无需确认
conda create -n test python=3.8 -y
# 环境存放在prefix指定的目录,环境没有名字
conda create --prefix D:\Conda\envs\test python=3.8 -y

执行上述两条命令,查看当前已创建的环境,如图 2.5 所示,可以发现,通过指定 prefix 创建的环境没有名字。

图2.5 创建环境
# 重命名环境
conda rename -n test text
conda rename -p D:\Conda\envs\test demo
conda rename -p D:\Conda\envs\test D:\Conda\envs\demo

执行上述前两条命令,查看当前已创建的环境,如图 2.6 所示,可以发现,环境 D:\Conda\envs\test 不仅被重命名为 demo,还被移动到配置文件中指定的目录,如果需要保持原目录,需要显式指定路径,如第三条命令。

图2.6 重命名环境
# 删除环境
conda remove -n test --all -y
conda remove --prefix D:\Conda\envs\test --all -y
# 激活/进入环境
conda activate text
# 退出环境
conda deactivate

激活环境后,会显示当前所处环境,查看当前已创建的环境,被激活的环境前面有 * 标识,如图所示。激活环境后,就可以在当前环境使用 Pythonpip 等命令了。

图2.7 激活环境

模块相关

# 查看当前环境安装的包
conda list
# 查找包
conda search requests
# 安装包,不指定版本则安装当前环境所支持的最新版本
conda install requests=2.32.3 -y
# 更新包
conda upgrade requests=2.32.3 -y
# 删除包
conda remove requests -y

缓存相关

# 清理所有缓存
conda clean --all

PyCharm 的安装与配置

PyCharm 的安装

访问 PyCharm 官网,根据操作系统选择合适的版本下载并安装。

创建项目时指定环境

如图 3.1 所示,在创建 Python 项目时,可通过三种方式指定 Python 版本。

图3.1 创建 Python 项目

Project venv:将已有 Python 环境(可在此处先下载并安装其他版本的 Python)作为基础环境,基于基础环境创建虚拟环境,Python Version 的值为 python.exe 的路径。创建虚拟环境会将基础环境中的内容部分复制到.venv 目录下。

图3.2 Project venv

Base conda:使用 conda 的 base 环境 ,值为 Anaconda/Miniconda 安装目录下的 _conda.exe 或者 Scripts\conda.exe (建议)的路径。

图3.3 Base conda

Custom environment:创建自定义环境,可创建新环境或者使用已有环境。

Generate new + Virtualenv(推荐):将已有 Python 环境(可在此处先下载并安装其他版本的 Python)作为基础环境,基于基础环境创建虚拟环境,Inherit packages from base interpreter 表示从基础环境中继承已有的包,Make available to all projects 表示创建的虚拟环境可作为其他工程的基础环境。

图3.4 Generate new + Virtualenv

Generate new + Conda(推荐):使用 Conda 创建 Python 环境,name 为将要创建的环境的名字。

图3.5 Generate new + Conda

Generate new + Pipenv/Poetry:Pipenv 与 Poetry 也是包管理工具,与 Conda 类似,本文暂不作介绍。

图3.6 Generate new + Pipenv/Poetry

Select existing + Python:使用已有的 Python 环境,包括 Conda 创建的 Python 环境。

图3.7 Select existing + Python

Select existing + Conda:使用已有的 Conda 创建的 Python 环境。

图3.8 Select existing + Conda
已有项目指定环境

⌈File⌋ -> ⌈Setting⌋ -> ⌈Project⌋ -> ⌈Python Interpreter⌋,可以选择已有环境,包括 Conda 创建的环境,也可以点击 ⌈Add Interpreter⌋ 添加环境。

图3.9 已有项目指定环境

Virtualenv Environment:可以使用现有虚拟环境,或者创建新的虚拟环境。

图3.10 Virtualenv Environment

Conda Environment:可以使用 Conda 中的现有的 Python 环境,或者使用 Conda 创建新的 Python 环境。此处无法识别 _conda.exe,只能使用 Scripts\conda.exe

图3.10 Conda Environment

System Interpreter:使用现有 Python 环境,包括 Conda 创建的 Python 环境。

图3.11 System Interpreter

END

以上就是本文的全部内容,文档会根据自己的实际使用和各位提出的问题而不断更新。

如果觉得本文对您有一点点帮助,欢迎点赞、转发加关注,这会对我有非常大的帮助,如果有任何问题,欢迎在评论区留言,咱们下期见!

文章文档:公众号 字节幺零二四 回复关键字即可获取本文最新文档,关键字放在公众号的本文中。

  • 15
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值