博主原文鏈接:https://www.yourmetaverse.cn/nlp/286/
1. anaconda介紹
1.1 個(gè)人對anaconda的理解
個(gè)人認(rèn)為,anaconda就是一個(gè)包含python相關(guān)包和一些實(shí)用工具的集合,例如,我們可以使用anaconda進(jìn)行Python環(huán)境的管理,使得在運(yùn)行不同的程序時(shí)候使用不同的環(huán)境,極大避免了一些環(huán)境的依賴沖突;我們可以使用jupyter notebook或者jupyter lab等可視化地調(diào)試我們的代碼;我們可以使用conda命令安裝包,解決一些復(fù)雜包的依賴問題…
以上這些,不用anaconda,只依靠python我們也可以做到,但是這個(gè)過程可能會遇到一系列問題,如不同版本的沖突問題。anaconda將這些資源整合,統(tǒng)一到一個(gè)軟件里面,安裝了anaconda,本質(zhì)上就是安裝了上述的一系列軟件,且一鍵安裝,不會出錯,減少了分析人員不必要的麻煩。
1.2 來自網(wǎng)絡(luò)資源的介紹
Anaconda,中文大蟒蛇,是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng)。Anaconda是包管理器和環(huán)境管理器,Jupyter可以將數(shù)據(jù)分析的代碼、圖像和文檔全部組合到一個(gè)web文檔中。
Anaconda是一個(gè)免費(fèi)開源的Python和R語言的發(fā)行版本,用于計(jì)算科學(xué)(數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、大數(shù)據(jù)處理和預(yù)測分析),Anaconda致力于簡化包管理和部署。Anaconda的包使用軟件包管理系統(tǒng)Conda進(jìn)行管理。超過1200萬人使用Anaconda發(fā)行版本,并且Anaconda擁有超過1400個(gè)適用于Windows、Linux和MacOS的數(shù)據(jù)科學(xué)軟件包。
總結(jié)Anaconda的三大特點(diǎn):
- 內(nèi)置python,高度集成python數(shù)據(jù)科學(xué)生態(tài)
- 擁有強(qiáng)大的包管理工具-conda
- 可用超過600個(gè)python數(shù)據(jù)科學(xué)庫
默認(rèn)環(huán)境 /用戶名/anaconda3
已經(jīng)安裝了 Python,那么為什么還需要 Anaconda?有以下3個(gè)原因:
1)Anaconda 附帶了一大批常用數(shù)據(jù)科學(xué)包,它附帶了 conda、Python 和 150 多個(gè)科學(xué)包及其依賴項(xiàng)。因此你可以立即開始處理數(shù)據(jù)。
2)管理包
Anaconda 是在 conda(一個(gè)包管理器和環(huán)境管理器)上發(fā)展出來的。
在數(shù)據(jù)分析中,你會用到很多第三方的包,而conda(包管理器)可以很好的幫助你在計(jì)算機(jī)上安裝和管理這些包,包括安裝、卸載和更新包。
3)管理環(huán)境
為什么需要管理環(huán)境呢?
比如你在A項(xiàng)目中用了 Python 2,而新的項(xiàng)目B老大要求使用Python 3,而同時(shí)安裝兩個(gè)Python版本可能會造成許多混亂和錯誤。這時(shí)候 conda就可以幫助你為不同的項(xiàng)目建立不同的運(yùn)行環(huán)境。
還有很多項(xiàng)目使用的包版本不同,比如不同的pandas版本,不可能同時(shí)安裝兩個(gè) Numpy 版本,你要做的應(yīng)該是,為每個(gè) Numpy 版本創(chuàng)建一個(gè)環(huán)境,然后項(xiàng)目的對應(yīng)環(huán)境中工作。這時(shí)候conda就可以幫你做到。
2. anaconda安裝
2.1 anaconda軟件包下載
點(diǎn)擊標(biāo)題鏈接即可進(jìn)入anaconda官網(wǎng)的下載界面,然后下滑到最下面,看到如下界面:
老版本下載鏈接:https://repo.anaconda.com/archive/
命令行下載模式下可以使用如下方法獲取到下載鏈接:
然后進(jìn)入命令行輸入:
wget $復(fù)制到的鏈接,如:
wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
即可下載文件
2.2 圖形界面安裝
圖形界面的anaconda的安裝比較簡單,都是一些圖形化的界面,在圖形化安裝的過程中一直點(diǎn)擊下一步即可,但是有幾點(diǎn)需要注意的地方:
(1)Windows版本安裝的時(shí)候目標(biāo)路徑中不能含有空格,同時(shí)不能是“unicode”編碼。
(2)在“Advanced Installation Options”中不要勾選“Add Anaconda to my PATH environment variable.”(“添加Anaconda至我的環(huán)境變量。”)。因?yàn)槿绻催x,則將會影響其他程序的使用。如果使用Anaconda,則通過打開Anaconda Navigator或者在開始菜單中的“Anaconda Prompt”(類似macOS中的“終端”)中進(jìn)行使用。
(3)除非你打算使用多個(gè)版本的Anaconda或者多個(gè)版本的Python,否則便勾選“Register Anaconda as my default Python 3.9”。
2.3 命令行安裝
在使用wget命令下載好了anaconda之后,使用以下命令安裝anaconda:
bash $下載好的文件名,例如:
bash Anaconda3-2022.10-Linux-x86_64.sh
出現(xiàn)以下說明,然后輸入回車執(zhí)行下一步:
Welcome to Anaconda3 2022.10
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
接著一直回車,等license結(jié)束之后會出現(xiàn):
Do you accept the license terms? [yes|no]
[no] >>>
Please answer 'yes' or 'no':'
也沒啥可不同意的,不同意不讓用呀,輸入yes回車
然后就讓你選擇安裝路徑了,默認(rèn)是安裝在/用戶名/anaconda下面,如果不需要修改直接回車就可以,我一般默認(rèn)安裝。如果修改的話在下面輸入路徑,路徑最好不要出現(xiàn)奇怪的符號。
Anaconda3 will now be installed into this location:
/用戶名/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/用戶名/anaconda3] >>>
然后就執(zhí)行安裝了,最后輸出如下:
Preparing transaction: done
Executing transaction: /
Installed package of scikit-learn can be accelerated using scikit-learn-intelex.
More details are available here: https://intel.github.io/scikit-learn-intelex
For example:
$ conda install scikit-learn-intelex
$ python -m sklearnex my_application.py
done
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
讓你選擇是否初始化,選擇yes的話以后登錄進(jìn)系統(tǒng)默認(rèn)就激活了conda環(huán)境,選擇no的話默認(rèn)不激活conda環(huán)境,需要手動激活才能使用conda命令。
這個(gè)意思默認(rèn)是no的,我接下來分別介紹選擇yes或者no的時(shí)候分別如何操作。
如果選擇no,則輸出的界面如下:
You have chosen to not have conda modify your shell scripts at all.
To activate conda's base environment in your current shell session:
eval "$(/root/anaconda3/bin/conda shell.YOUR_SHELL_NAME hook)"
To install conda's shell functions for easier access, first activate, then:
conda init
If you'd prefer that conda's base environment not be activated on startup,
set the auto_activate_base parameter to false:
conda config --set auto_activate_base false
Thank you for installing Anaconda3!
===========================================================================
Working with Python and Jupyter is a breeze in DataSpell. It is an IDE
designed for exploratory data analysis and ML. Get better data insights
with DataSpell.
DataSpell for Anaconda is available at: https://www.anaconda.com/dataspell
上面的大致意思就是,你沒有初始化conda,不能直接使用conda命令,需要使用絕對路徑的方式運(yùn)行conda,即指定conda的位置(剛剛安裝的位置,如果是默認(rèn)則是/用戶名/anaconda3/bin/conda,不是默認(rèn)的話則是你安裝路徑/bin/conda)。
即要想運(yùn)行conda命令則需要如下命令運(yùn)行:
/用戶名/anaconda3/bin/conda [選項(xiàng)] [參數(shù)]
如:
/root/anaconda3/bin/conda info --envs
但是一直這樣總是很麻煩,所以還不如直接就初始化環(huán)境,輸入以下命令初始化:
/root/anaconda3/bin/conda init
所以總結(jié)下來之前的那個(gè)選項(xiàng)還是選yes好,省時(shí)省力。
取消進(jìn)入base環(huán)境
If you'd prefer that conda's base environment not be activated on startup,
set the auto_activate_base parameter to false:
conda config --set auto_activate_base false
最后這句話的意思是:如果不想要進(jìn)入conda的base環(huán)境,使用以下命令取消:
conda config --set auto_activate_base false
這個(gè)base環(huán)境就是如果你進(jìn)入系統(tǒng)最左邊顯示一個(gè)base,則你直接進(jìn)入了base環(huán)境,運(yùn)行python使用的是base環(huán)境的python,取消的話進(jìn)入的是系統(tǒng)的python環(huán)境。
例如,沒有取消base環(huán)境進(jìn)入的是如下界面:
(base) 用戶名@計(jì)算機(jī)名:/#
使用which python命令查看到的python位置是:
(base) 用戶名@計(jì)算機(jī)名:/# which python
/用戶名/anaconda3/bin/python
如果不取消還想退出base環(huán)境的話則使用如下命令即可退出:
conda deactivate
取消base環(huán)境進(jìn)入的是如下界面:
用戶名@計(jì)算機(jī)名:/#
使用which python命令查看到的python位置是:
用戶名@計(jì)算機(jī)名:/# which python
/usr/bin/python
3. conda常用命令介紹
3.1 基本命令和常見命令
Tip: 一般情況,–后面接長單詞的參數(shù)等同于,-接單個(gè)字母的參數(shù),我們可以將前面帶有兩個(gè)短線(–)的常用命令進(jìn)行縮寫(并不是所有的都可以縮寫),方法是取一個(gè)短線和選項(xiàng)的首字母。例如 --name 可以縮寫成 -n,–envs 可以縮寫成 -e。
(1)查看conda版本信息
conda --version
conda -V
例如:
用戶名@主機(jī)名:~# conda -V
conda 22.9.0
(2)查看幫助信息
conda --help
conda -h
例如:
conda -h
輸出如下:
用戶名@主機(jī)名:~# conda -h
usage: conda [-h] [-V] command ...
conda is a tool for managing and deploying applications, environments and packages.
Options:
positional arguments:
command
clean Remove unused packages and caches.
compare Compare packages between conda environments.
config Modify configuration values in .condarc. This is modeled after the git config command. Writes to the user .condarc file (/root/.condarc) by default. Use the --show-
sources flag to display all identified configuration locations on your computer.
create Create a new conda environment from a list of specified packages.
info Display information about current conda install.
init Initialize conda for shell interaction.
install Installs a list of packages into a specified conda environment.
list List installed packages in a conda environment.
package Low-level conda package utility. (EXPERIMENTAL)
remove Remove a list of packages from a specified conda environment.
rename Renames an existing environment.
run Run an executable in a conda environment.
search Search for packages and display associated information.The input is a MatchSpec, a query language for conda packages. See examples below.
uninstall Alias for conda remove.
update Updates conda packages to the latest compatible version.
upgrade Alias for conda update.
notices Retrieves latest channel notifications.
optional arguments:
-h, --help Show this help message and exit.
-V, --version Show the conda version number and exit.
conda commands available from other packages:
build
content-trust
convert
debug
develop
env
index
inspect
metapackage
pack
render
repo
server
skeleton
token
verify
(3)查看conda環(huán)境和環(huán)境基本信息
conda info #查看基本信息,例如:
conda info
輸出如下:
用戶名@主機(jī)名:/# conda info
active environment : None
shell level : 0
user config file : /root/.condarc
populated config files :
conda version : 22.9.0
conda-build version : 3.22.0
python version : 3.9.13.final.0
virtual packages : __linux=5.4.0=0
__glibc=2.27=0
__unix=0=0
__archspec=1=x86_64
base environment : /root/anaconda3 (writable)
conda av data dir : /root/anaconda3/etc/conda
conda av metadata url : None
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /root/anaconda3/pkgs
/root/.conda/pkgs
envs directories : /root/anaconda3/envs
/root/.conda/envs
platform : linux-64
user-agent : conda/22.9.0 requests/2.28.1 CPython/3.9.13 Linux/5.4.0-125-generic ubuntu/18.04.6 glibc/2.27
UID:GID : 0:0
netrc file : None
offline mode : False
conda info -e/--envs #查看conda安裝的環(huán)境信息,例如:
用戶名@主機(jī)名:/# conda info --envs
# conda environments:
#
base /root/anaconda3
(4)激活環(huán)境
conda activate [環(huán)境名稱]
例如:
用戶名@主機(jī)名:~# conda activate base
(base) 用戶名@主機(jī)名:~#
(5)退出環(huán)境
conda deactivate
例如:
(base) 用戶名@主機(jī)名:~# conda deactivate
用戶名@主機(jī)名:~#
(6)安裝python包
conda install [PackageName]
例如:
(base) 用戶名@主機(jī)名:~# conda install numpy
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /root/anaconda3
added / updated specs:
- numpy
The following packages will be downloaded:
package | build
---------------------------|-----------------
conda-22.11.0 | py39h06a4308_1 927 KB
ruamel.yaml-0.16.12 | py39h5eee18b_3 172 KB
ruamel.yaml.clib-0.2.6 | py39h5eee18b_1 140 KB
------------------------------------------------------------
Total: 1.2 MB
The following NEW packages will be INSTALLED:
ruamel.yaml pkgs/main/linux-64::ruamel.yaml-0.16.12-py39h5eee18b_3 None
ruamel.yaml.clib pkgs/main/linux-64::ruamel.yaml.clib-0.2.6-py39h5eee18b_1 None
The following packages will be UPDATED:
conda 22.9.0-py39h06a4308_0 --> 22.11.0-py39h06a4308_1 None
Proceed ([y]/n)? y
Downloading and Extracting Packages
ruamel.yaml-0.16.12 | 172 KB | ############################################################################################################################################### | 100%
ruamel.yaml.clib-0.2 | 140 KB | ############################################################################################################################################### | 100%
conda-22.11.0 | 927 KB | ############################################################################################################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Retrieving notices: ...working... done
也可以給特定環(huán)境安裝特定包
conda install --name [環(huán)境名稱] [PackageName]
例如:
(base) 用戶名@主機(jī)名:~# conda install --name base pandas
Collecting package metadata (current_repodata.json): done
Solving environment: done
# All requested packages already installed.
(7)刪除python包
conda remove -n 環(huán)境名稱] [PackageName]
例如:
(base) 用戶名@主機(jī)名:~# conda remove -n base pandas
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /root/anaconda3
removed specs:
- pandas
The following packages will be downloaded:
package | build
---------------------------|-----------------
asttokens-2.0.5 | pyhd3eb1b0_0 20 KB
attrs-22.1.0 | py39h06a4308_0 85 KB
ca-certificates-2022.10.11 | h06a4308_0 124 KB
certifi-2022.9.24 | py39h06a4308_0 154 KB
conda-package-handling-1.9.0| py39h5eee18b_1 946 KB
conda-repo-cli-1.0.24 | py39h06a4308_0 115 KB
cryptography-38.0.1 | py39h9ce1e76_0 1.3 MB
executing-0.8.3 | pyhd3eb1b0_0 18 KB
flit-core-3.6.0 | pyhd3eb1b0_0 42 KB
fontconfig-2.14.1 | hef1e5e3_0 284 KB
freetype-2.12.1 | h4a9f257_0 626 KB
idna-3.4 | py39h06a4308_0 93 KB
ipython-8.6.0 | py39h06a4308_0 1.0 MB
jupyter_client-7.4.7 | py39h06a4308_0 209 KB
jupyter_core-4.11.2 | py39h06a4308_0 80 KB
jupyterlab-3.5.0 | py39h06a4308_0 4.2 MB
libtiff-4.4.0 | hecacb30_2 526 KB
libwebp-1.2.4 | h11a3e52_0 79 KB
libwebp-base-1.2.4 | h5eee18b_0 347 KB
nbclassic-0.4.8 | py39h06a4308_0 5.8 MB
notebook-6.5.2 | py39h06a4308_0 511 KB
notebook-shim-0.2.2 | py39h06a4308_0 22 KB
openssl-1.1.1s | h7f8727e_0 3.6 MB
patchelf-0.15.0 | h6a678d5_0 97 KB
pkginfo-1.8.3 | py39h06a4308_0 45 KB
pure_eval-0.2.2 | pyhd3eb1b0_0 14 KB
pycosat-0.6.4 | py39h5eee18b_0 84 KB
readline-8.2 | h5eee18b_0 357 KB
setuptools-65.5.0 | py39h06a4308_0 1.1 MB
soupsieve-2.3.2.post1 | py39h06a4308_0 65 KB
sqlite-3.40.0 | h5082296_0 1.2 MB
stack_data-0.2.0 | pyhd3eb1b0_0 22 KB
toolz-0.12.0 | py39h06a4308_0 105 KB
tornado-6.2 | py39h5eee18b_0 590 KB
typing-extensions-4.4.0 | py39h06a4308_0 8 KB
typing_extensions-4.4.0 | py39h06a4308_0 46 KB
tzdata-2022f | h04d1e81_0 115 KB
urllib3-1.26.12 | py39h06a4308_0 181 KB
xz-5.2.8 | h5eee18b_0 429 KB
zlib-1.2.13 | h5eee18b_0 103 KB
------------------------------------------------------------
Total: 24.6 MB
The following NEW packages will be INSTALLED:
asttokens pkgs/main/noarch::asttokens-2.0.5-pyhd3eb1b0_0
executing pkgs/main/noarch::executing-0.8.3-pyhd3eb1b0_0
flit-core pkgs/main/noarch::flit-core-3.6.0-pyhd3eb1b0_0
notebook-shim pkgs/main/linux-64::notebook-shim-0.2.2-py39h06a4308_0
pure_eval pkgs/main/noarch::pure_eval-0.2.2-pyhd3eb1b0_0
stack_data pkgs/main/noarch::stack_data-0.2.0-pyhd3eb1b0_0
The following packages will be REMOVED:
alabaster-0.7.12-pyhd3eb1b0_0
anaconda-2022.10-py39_0
anaconda-project-0.11.1-py39h06a4308_0
appdirs-1.4.4-pyhd3eb1b0_0
arrow-1.2.2-pyhd3eb1b0_0
astroid-2.11.7-py39h06a4308_0
astropy-5.1-py39h7deecbd_0
atomicwrites-1.4.0-py_0
automat-20.2.0-py_0
autopep8-1.6.0-pyhd3eb1b0_1
bcrypt-3.2.0-py39h5eee18b_1
binaryornot-0.4.4-pyhd3eb1b0_1
bitarray-2.5.1-py39h5eee18b_0
bkcharts-0.2-py39h06a4308_1
black-22.6.0-py39h06a4308_0
blosc-1.21.0-h4ff587b_1
bokeh-2.4.3-py39h06a4308_0
boto3-1.24.28-py39h06a4308_0
botocore-1.27.28-py39h06a4308_0
bottleneck-1.3.5-py39h7deecbd_0
brotli-1.0.9-h5eee18b_7
brotli-bin-1.0.9-h5eee18b_7
brunsli-0.1-h2531618_0
c-ares-1.18.1-h7f8727e_0
cfitsio-3.470-h5893167_7
charls-2.2.0-h2531618_0
cloudpickle-2.0.0-pyhd3eb1b0_0
colorama-0.4.5-py39h06a4308_0
colorcet-3.0.0-py39h06a4308_0
conda-pack-0.6.0-pyhd3eb1b0_0
constantly-15.1.0-pyh2b92418_0
cookiecutter-1.7.3-pyhd3eb1b0_0
cssselect-1.1.0-pyhd3eb1b0_0
curl-7.84.0-h5eee18b_0
cycler-0.11.0-pyhd3eb1b0_0
cython-0.29.32-py39h6a678d5_0
cytoolz-0.11.0-py39h27cfd23_0
daal4py-2021.6.0-py39h79cecc1_1
dal-2021.6.0-hdb19cb5_916
dask-2022.7.0-py39h06a4308_0
dask-core-2022.7.0-py39h06a4308_0
dataclasses-0.8-pyh6d0b6a4_7
datashader-0.14.1-py39h06a4308_0
datashape-0.5.4-py39h06a4308_1
diff-match-patch-20200713-pyhd3eb1b0_0
dill-0.3.4-pyhd3eb1b0_0
distributed-2022.7.0-py39h06a4308_0
docutils-0.18.1-py39h06a4308_3
et_xmlfile-1.1.0-py39h06a4308_0
fftw-3.3.9-h27cfd23_1
flake8-4.0.1-pyhd3eb1b0_1
flask-1.1.2-pyhd3eb1b0_0
fonttools-4.25.0-pyhd3eb1b0_0
fsspec-2022.7.1-py39h06a4308_0
gensim-4.1.2-py39h295c915_0
gmp-6.2.1-h295c915_3
gmpy2-2.1.2-py39heeb90bb_0
greenlet-1.1.1-py39h295c915_0
h5py-3.7.0-py39h737f45e_0
hdf5-1.10.6-h3ffc7dd_1
heapdict-1.0.1-pyhd3eb1b0_0
holoviews-1.15.0-py39h06a4308_0
hvplot-0.8.0-py39h06a4308_0
hyperlink-21.0.0-pyhd3eb1b0_0
imagecodecs-2021.8.26-py39hf0132c2_1
imageio-2.19.3-py39h06a4308_0
imagesize-1.4.1-py39h06a4308_0
importlib-metadata-4.11.3-py39h06a4308_0
importlib_metadata-4.11.3-hd3eb1b0_0
incremental-21.3.0-pyhd3eb1b0_0
inflection-0.5.1-py39h06a4308_0
iniconfig-1.1.1-pyhd3eb1b0_0
intake-0.6.5-pyhd3eb1b0_0
intervaltree-3.1.0-pyhd3eb1b0_0
isort-5.9.3-pyhd3eb1b0_0
itemadapter-0.3.0-pyhd3eb1b0_0
itemloaders-1.0.4-pyhd3eb1b0_1
itsdangerous-2.0.1-pyhd3eb1b0_0
jdcal-1.4.1-pyhd3eb1b0_0
jeepney-0.7.1-pyhd3eb1b0_0
jellyfish-0.9.0-py39h7f8727e_0
jinja2-time-0.2.0-pyhd3eb1b0_3
jmespath-0.10.0-pyhd3eb1b0_0
joblib-1.1.0-pyhd3eb1b0_0
jq-1.6-h27cfd23_1000
jupyter-1.0.0-py39h06a4308_8
jupyter_console-6.4.3-pyhd3eb1b0_0
jxrlib-1.1-h7b6447c_2
keyring-23.4.0-py39h06a4308_0
kiwisolver-1.4.2-py39h295c915_0
lazy-object-proxy-1.6.0-py39h27cfd23_0
libaec-1.0.4-he6710b0_1
libbrotlicommon-1.0.9-h5eee18b_7
libbrotlidec-1.0.9-h5eee18b_7
libbrotlienc-1.0.9-h5eee18b_7
libcurl-7.84.0-h91b91d3_0
libev-4.33-h7f8727e_1
libgfortran-ng-11.2.0-h00389a5_1
libgfortran5-11.2.0-h1234567_1
libidn2-2.3.2-h7f8727e_0
libllvm11-11.1.0-h9e868ea_5
libnghttp2-1.46.0-hce63b2e_0
libspatialindex-1.9.3-h2531618_0
libssh2-1.10.0-h8f2d780_0
libunistring-0.9.10-h27cfd23_0
libuuid-1.0.3-h7f8727e_2
libzopfli-1.0.3-he6710b0_0
llvmlite-0.38.0-py39h4ff587b_0
locket-1.0.0-py39h06a4308_0
lxml-4.9.1-py39h1edc446_0
lz4-3.1.3-py39h27cfd23_0
lzo-2.10-h7b6447c_2
markdown-3.3.4-py39h06a4308_0
matplotlib-3.5.2-py39h06a4308_0
matplotlib-base-3.5.2-py39hf590b9c_0
mccabe-0.7.0-pyhd3eb1b0_0
mock-4.0.3-pyhd3eb1b0_0
mpc-1.1.0-h10f8cd9_1
mpfr-4.0.2-hb69a4c5_1
mpi-1.0-mpich
mpich-3.3.2-external_0
mpmath-1.2.1-py39h06a4308_0
msgpack-python-1.0.3-py39hd09550d_0
multipledispatch-0.6.0-py39h06a4308_0
munkres-1.1.4-py_0
mypy_extensions-0.4.3-py39h06a4308_1
networkx-2.8.4-py39h06a4308_0
nltk-3.7-pyhd3eb1b0_0
nose-1.3.7-pyhd3eb1b0_1008
numba-0.55.1-py39h51133e4_0
numexpr-2.8.3-py39h807cd23_0
numpydoc-1.4.0-py39h06a4308_0
olefile-0.46-pyhd3eb1b0_0
oniguruma-6.9.7.1-h27cfd23_0
openjpeg-2.4.0-h3ad879b_0
openpyxl-3.0.10-py39h5eee18b_0
pandas-1.4.4-py39h6a678d5_0
panel-0.13.1-py39h06a4308_0
param-1.12.0-pyhd3eb1b0_0
parsel-1.6.0-py39h06a4308_0
partd-1.2.0-pyhd3eb1b0_1
pathspec-0.9.0-py39h06a4308_0
patsy-0.5.2-py39h06a4308_1
pep8-1.7.1-py39h06a4308_1
platformdirs-2.5.2-py39h06a4308_0
plotly-5.9.0-py39h06a4308_0
poyo-0.5.0-pyhd3eb1b0_0
prompt_toolkit-3.0.20-hd3eb1b0_0
protego-0.1.16-py_0
py-1.11.0-pyhd3eb1b0_0
pyasn1-0.4.8-pyhd3eb1b0_0
pyasn1-modules-0.2.8-py_0
pycodestyle-2.8.0-pyhd3eb1b0_0
pyct-0.4.8-py39h06a4308_1
pycurl-7.45.1-py39h8f2d780_0
pydispatcher-2.0.5-py39h06a4308_2
pydocstyle-6.1.1-pyhd3eb1b0_0
pyerfa-2.0.0-py39h27cfd23_0
pyflakes-2.4.0-pyhd3eb1b0_0
pyhamcrest-2.0.2-pyhd3eb1b0_2
pylint-2.14.5-py39h06a4308_0
pyls-spyder-0.4.0-pyhd3eb1b0_0
pyodbc-4.0.34-py39h6a678d5_0
pyqtwebengine-5.15.7-py39h6a678d5_1
pytables-3.6.1-py39h77479fe_1
pytest-7.1.2-py39h06a4308_0
python-lsp-black-1.2.1-py39h06a4308_0
python-lsp-jsonrpc-1.0.0-pyhd3eb1b0_0
python-lsp-server-1.5.0-py39h06a4308_0
python-slugify-5.0.2-pyhd3eb1b0_0
python-snappy-0.6.0-py39h2531618_3
pyviz_comms-2.0.2-pyhd3eb1b0_0
pywavelets-1.3.0-py39h7f8727e_0
pyxdg-0.27-pyhd3eb1b0_0
qdarkstyle-3.0.2-pyhd3eb1b0_0
qstylizer-0.1.10-pyhd3eb1b0_0
qt-5.15.9-h06a4308_0
qtawesome-1.0.3-pyhd3eb1b0_0
qtconsole-5.3.2-py39h06a4308_0
queuelib-1.5.0-py39h06a4308_0
regex-2022.7.9-py39h5eee18b_0
requests-file-1.5.1-pyhd3eb1b0_0
rope-0.22.0-pyhd3eb1b0_0
rtree-0.9.7-py39h06a4308_1
ruamel_yaml-0.15.100-py39h27cfd23_0
s3transfer-0.6.0-py39h06a4308_0
scikit-image-0.19.2-py39h51133e4_0
scikit-learn-1.0.2-py39h51133e4_1
scikit-learn-intelex-2021.6.0-py39h06a4308_0
scipy-1.9.1-py39h14f4228_0
scrapy-2.6.2-py39h06a4308_0
seaborn-0.11.2-pyhd3eb1b0_0
secretstorage-3.3.1-py39h06a4308_0
service_identity-18.1.0-pyhd3eb1b0_1
smart_open-5.2.1-py39h06a4308_0
snappy-1.1.9-h295c915_0
snowballstemmer-2.2.0-pyhd3eb1b0_0
sortedcollections-2.1.0-pyhd3eb1b0_0
sortedcontainers-2.4.0-pyhd3eb1b0_0
sphinx-5.0.2-py39h06a4308_0
sphinxcontrib-applehelp-1.0.2-pyhd3eb1b0_0
sphinxcontrib-devhelp-1.0.2-pyhd3eb1b0_0
sphinxcontrib-htmlhelp-2.0.0-pyhd3eb1b0_0
sphinxcontrib-jsmath-1.0.1-pyhd3eb1b0_0
sphinxcontrib-qthelp-1.0.3-pyhd3eb1b0_0
sphinxcontrib-serializinghtml-1.1.5-pyhd3eb1b0_0
spyder-5.3.3-py39h06a4308_0
spyder-kernels-2.3.3-py39h06a4308_0
sqlalchemy-1.4.39-py39h5eee18b_0
statsmodels-0.13.2-py39h7f8727e_0
sympy-1.10.1-py39h06a4308_0
tabulate-0.8.10-py39h06a4308_0
tbb-2021.6.0-hdb19cb5_0
tbb4py-2021.6.0-py39hdb19cb5_0
tblib-1.7.0-pyhd3eb1b0_0
tenacity-8.0.1-py39h06a4308_1
text-unidecode-1.3-pyhd3eb1b0_0
textdistance-4.2.1-pyhd3eb1b0_0
threadpoolctl-2.2.0-pyh0d69192_0
three-merge-0.1.1-pyhd3eb1b0_0
tifffile-2021.7.2-pyhd3eb1b0_2
tinycss-0.4-pyhd3eb1b0_1002
tldextract-3.2.0-pyhd3eb1b0_0
tomlkit-0.11.1-py39h06a4308_0
twisted-22.2.0-py39h5eee18b_1
unidecode-1.2.0-pyhd3eb1b0_0
unixodbc-2.3.11-h5eee18b_0
w3lib-1.21.0-pyhd3eb1b0_0
watchdog-2.1.6-py39h06a4308_0
werkzeug-2.0.3-pyhd3eb1b0_0
wget-1.21.3-h0b77cf5_0
whatthepatch-1.0.2-py39h06a4308_0
wrapt-1.14.1-py39h5eee18b_0
wurlitzer-3.0.2-py39h06a4308_0
xarray-0.20.1-pyhd3eb1b0_1
xlrd-2.0.1-pyhd3eb1b0_0
xlsxwriter-3.0.3-pyhd3eb1b0_0
yapf-0.31.0-pyhd3eb1b0_0
zfp-0.5.5-h295c915_6
zict-2.1.0-py39h06a4308_0
zipp-3.8.0-py39h06a4308_0
zope-1.0-py39h06a4308_1
zope.interface-5.4.0-py39h7f8727e_0
The following packages will be UPDATED:
attrs pkgs/main/noarch::attrs-21.4.0-pyhd3e~ --> pkgs/main/linux-64::attrs-22.1.0-py39h06a4308_0
ca-certificates 2022.07.19-h06a4308_0 --> 2022.10.11-h06a4308_0
certifi 2022.9.14-py39h06a4308_0 --> 2022.9.24-py39h06a4308_0
conda-package-han~ 1.9.0-py39h5eee18b_0 --> 1.9.0-py39h5eee18b_1
conda-repo-cli 1.0.20-py39h06a4308_0 --> 1.0.24-py39h06a4308_0
cryptography 37.0.1-py39h9ce1e76_0 --> 38.0.1-py39h9ce1e76_0
fontconfig 2.13.1-h6c09931_0 --> 2.14.1-hef1e5e3_0
freetype 2.11.0-h70c0345_0 --> 2.12.1-h4a9f257_0
idna pkgs/main/noarch::idna-3.3-pyhd3eb1b0~ --> pkgs/main/linux-64::idna-3.4-py39h06a4308_0
ipython 7.31.1-py39h06a4308_1 --> 8.6.0-py39h06a4308_0
jupyter_client 7.3.4-py39h06a4308_0 --> 7.4.7-py39h06a4308_0
jupyter_core 4.11.1-py39h06a4308_0 --> 4.11.2-py39h06a4308_0
jupyterlab 3.4.4-py39h06a4308_0 --> 3.5.0-py39h06a4308_0
libtiff 4.4.0-hecacb30_0 --> 4.4.0-hecacb30_2
libwebp 1.2.2-h55f646e_0 --> 1.2.4-h11a3e52_0
libwebp-base 1.2.2-h7f8727e_0 --> 1.2.4-h5eee18b_0
nbclassic pkgs/main/noarch::nbclassic-0.3.5-pyh~ --> pkgs/main/linux-64::nbclassic-0.4.8-py39h06a4308_0
notebook 6.4.12-py39h06a4308_0 --> 6.5.2-py39h06a4308_0
openssl 1.1.1q-h7f8727e_0 --> 1.1.1s-h7f8727e_0
patchelf 0.13-h295c915_0 --> 0.15.0-h6a678d5_0
pkginfo pkgs/main/noarch::pkginfo-1.8.2-pyhd3~ --> pkgs/main/linux-64::pkginfo-1.8.3-py39h06a4308_0
pycosat 0.6.3-py39h27cfd23_0 --> 0.6.4-py39h5eee18b_0
readline 8.1.2-h7f8727e_1 --> 8.2-h5eee18b_0
setuptools 63.4.1-py39h06a4308_0 --> 65.5.0-py39h06a4308_0
soupsieve pkgs/main/noarch::soupsieve-2.3.1-pyh~ --> pkgs/main/linux-64::soupsieve-2.3.2.post1-py39h06a4308_0
sqlite 3.39.3-h5082296_0 --> 3.40.0-h5082296_0
toolz pkgs/main/noarch::toolz-0.11.2-pyhd3e~ --> pkgs/main/linux-64::toolz-0.12.0-py39h06a4308_0
tornado 6.1-py39h27cfd23_0 --> 6.2-py39h5eee18b_0
typing-extensions 4.3.0-py39h06a4308_0 --> 4.4.0-py39h06a4308_0
typing_extensions 4.3.0-py39h06a4308_0 --> 4.4.0-py39h06a4308_0
tzdata 2022c-h04d1e81_0 --> 2022f-h04d1e81_0
urllib3 1.26.11-py39h06a4308_0 --> 1.26.12-py39h06a4308_0
xz 5.2.6-h5eee18b_0 --> 5.2.8-h5eee18b_0
zlib 1.2.12-h5eee18b_3 --> 1.2.13-h5eee18b_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(8)創(chuàng)建python環(huán)境
詳見第四章
3.2 常用命令詳解
(1)conda info
conda info [-a] [--base] [-e] [-s] [--unsafe-channels]
選項(xiàng):
-a, -all: 查看所有信息(不常用)。
–base:查看基環(huán)境所在路徑。
-e, --envs:列出當(dāng)前所有的 conda 環(huán)境。
-s, --system:列出所有的環(huán)境變量(不常用)。
–unsafe-channels:查看令牌公開的頻道。
(2)conda create
conda create [-n 環(huán)境名稱 | -p path] [--clone 環(huán)境名稱] [-c channel_address] [PackageName]
選項(xiàng):
-n, --name:我們可以根據(jù)環(huán)境名稱來創(chuàng)建一個(gè) conda 環(huán)境。
-p, --prefix:除了根據(jù)名稱創(chuàng)建環(huán)境以外,我們還可以根據(jù)地址來創(chuàng)建 conda 環(huán)境。
–clone:--clone 主要用來克?。◤?fù)制)現(xiàn)有的環(huán)境。
-c, --channel:首先來介紹一下什么是 conda 頻道。
(3)conda install
conda install [-n 環(huán)境名稱 | -p path] [-c channel_address] [PackageName]
選項(xiàng):
-n, --name:安裝PackageName包的環(huán)境名稱。
-p:也可以不指定環(huán)境名稱,指定環(huán)境的絕對路徑。
-c, --channel:頻道地址,一般不指定的話默認(rèn)即可。
(4)conda remove
conda uninstall 是 conda remove 的別名,我們也可以使用 conda uninstall 來移除包,方法是相同的。
conda remove [-n 環(huán)境名稱 | -p path] [PackageName] [--all]
選項(xiàng):
-n, --name:移除PackageName包的環(huán)境名稱。
-p:也可以不指定環(huán)境名稱,指定環(huán)境的絕對路徑。
--all:卸載全部。
(5)conda list
conda list [-n 環(huán)境名稱 | -p path] [PackageName]
選項(xiàng):
-n, --name:查看python環(huán)境的環(huán)境名稱。
-p:也可以不指定環(huán)境名稱,指定環(huán)境的絕對路徑。
(6)conda search
conda search 用來搜索指定的包。
conda search [-c channel_address] [-f] [PackageName]
選項(xiàng)
-c, --channel:指定的搜索頻道地址。
(7)conda update
conda update 用來將一系列的包升級到最新版本。
conda update [-n 環(huán)境名稱 | -p path] [PackageName] [--all]
選項(xiàng):
-n, --name:移除PackageName包的環(huán)境名稱。
-p:也可以不指定環(huán)境名稱,指定環(huán)境的絕對路徑。
--all:卸載全部。
(8)conda config
conda config 用來配置 conda 的頻道,相關(guān)信息會存儲在 /用戶名/.condarc 文件中。
conda config --add channels [channel_address]
conda config --get #顯示所有的配置
conda config --get [key1] [key2] #顯示指定配置
conda config --add [key] [value] #添加新配置
conda config --set [key] [value] #設(shè)置配置
conda config --remove [key] [value] #刪除一個(gè)配置
conda config --remove-key [key] #刪除一個(gè)key
conda config --help #查看幫助信息
conda config --set show_channel_urls true
4. 使用conda進(jìn)行python環(huán)境管理
4.1 Anaconda、conda、pip、virtualenv的區(qū)別
(1)Anaconda
Anaconda是一個(gè)包含180+的科學(xué)包及其依賴項(xiàng)的發(fā)行版本。其包含的科學(xué)包包括:conda, numpy, scipy, ipython notebook等。
(2)conda
conda是包及其依賴項(xiàng)和環(huán)境的管理工具。
? 適用語言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
? 適用平臺:Windows, macOS, Linux
? 用途:
① 快速安裝、運(yùn)行和升級包及其依賴項(xiàng)。
② 在計(jì)算機(jī)中便捷地創(chuàng)建、保存、加載和切換環(huán)境。
如果你需要的包要求不同版本的Python,你無需切換到不同的環(huán)境,因?yàn)閏onda同樣是一個(gè)環(huán)境管理器。僅需要幾條命令,你可以創(chuàng)建一個(gè)完全獨(dú)立的環(huán)境來運(yùn)行不同的Python版本,同時(shí)繼續(xù)在你常規(guī)的環(huán)境中使用你常用的Python版本?!狢onda官方網(wǎng)站
? conda為Python項(xiàng)目而創(chuàng)造,但可適用于上述的多種語言。
? conda包和環(huán)境管理器包含于Anaconda的所有版本當(dāng)中。
(3)pip
pip是用于安裝和管理軟件包的包管理器。
? pip編寫語言:Python。
? Python中默認(rèn)安裝的版本:
① Python 2.7.9及后續(xù)版本:默認(rèn)安裝,命令為 pip
② Python 3.4及后續(xù)版本:默認(rèn)安裝,命令為 pip3
? pip名稱的由來:pip采用的是遞歸縮寫進(jìn)行命名的。其名字被普遍認(rèn)為來源于2處:
① “Pip installs Packages”(“pip安裝包”)
② “Pip installs Python”(“pip安裝Python”)
(4)virtualenv
virtualenv是用于創(chuàng)建一個(gè)獨(dú)立的Python環(huán)境的工具。
? 解決問題:
當(dāng)一個(gè)程序需要使用Python 2.7版本,而另一個(gè)程序需要使用Python 3.6版本,如何同時(shí)使用這兩個(gè)程序?如果將所有程序都安裝在系統(tǒng)下的默認(rèn)路徑,如:/usr/lib/python2.7/site-packages,當(dāng)不小心升級了本不該升級的程序時(shí),將會對其他的程序造成影響。
如果想要安裝程序并在程序運(yùn)行時(shí)對其庫或庫的版本進(jìn)行修改,都會導(dǎo)致程序的中斷。
在共享主機(jī)時(shí),無法在全局 site-packages 目錄中安裝包。
? virtualenv將會為它自己的安裝目錄創(chuàng)建一個(gè)環(huán)境,這并不與其他virtualenv環(huán)境共享庫;同時(shí)也可以選擇性地不連接已安裝的全局庫。
(5)pip 與 conda 比較
依賴項(xiàng)檢查
? pip:
① 不一定會展示所需其他依賴包。
② 安裝包時(shí)或許會直接忽略依賴項(xiàng)而安裝,僅在結(jié)果中提示錯誤。
? conda:
① 列出所需其他依賴包。
② 安裝包時(shí)自動安裝其依賴項(xiàng)。
③ 可以便捷地在包的不同版本中自由切換。
環(huán)境管理
? pip:維護(hù)多個(gè)環(huán)境難度較大。
? conda:比較方便地在不同環(huán)境之間進(jìn)行切換,環(huán)境管理較為簡單。
對系統(tǒng)自帶Python的影響
? pip:在系統(tǒng)自帶Python中包的更新/回退版本/卸載將影響其他程序。
? conda:不會影響系統(tǒng)自帶Python。
適用語言
? pip:僅適用于Python。
? conda:適用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
(6)conda與pip、virtualenv的關(guān)系
conda結(jié)合了pip和virtualenv的功能。
4.2 使用conda進(jìn)行python環(huán)境管理
(1)創(chuàng)建虛擬環(huán)境
創(chuàng)建環(huán)境
首先創(chuàng)建一個(gè)環(huán)境名稱為test,python版本號為3.8的虛擬環(huán)境,如下所示:
conda create --name [環(huán)境名稱] python=[python版本號,如3.6、3.7、3.8、3.9、3.10]
例如:
conda create --name test python=3.8
輸出如下:
(base) 用戶名@主機(jī)名:~# conda create --name test python=3.8
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /root/anaconda3/envs/test
added / updated specs:
- python=3.8
The following packages will be downloaded:
package | build
---------------------------|-----------------
certifi-2022.9.24 | py38h06a4308_0 154 KB
libffi-3.4.2 | h6a678d5_6 136 KB
pip-22.2.2 | py38h06a4308_0 2.3 MB
python-3.8.15 | h7a1cb2a_2 20.1 MB
setuptools-65.5.0 | py38h06a4308_0 1.1 MB
------------------------------------------------------------
Total: 23.8 MB
The following NEW packages will be INSTALLED:
_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
_openmp_mutex pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu
ca-certificates pkgs/main/linux-64::ca-certificates-2022.10.11-h06a4308_0
certifi pkgs/main/linux-64::certifi-2022.9.24-py38h06a4308_0
ld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1
libffi pkgs/main/linux-64::libffi-3.4.2-h6a678d5_6
libgcc-ng pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1
libgomp pkgs/main/linux-64::libgomp-11.2.0-h1234567_1
libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1
ncurses pkgs/main/linux-64::ncurses-6.3-h5eee18b_3
openssl pkgs/main/linux-64::openssl-1.1.1s-h7f8727e_0
pip pkgs/main/linux-64::pip-22.2.2-py38h06a4308_0
python pkgs/main/linux-64::python-3.8.15-h7a1cb2a_2
readline pkgs/main/linux-64::readline-8.2-h5eee18b_0
setuptools pkgs/main/linux-64::setuptools-65.5.0-py38h06a4308_0
sqlite pkgs/main/linux-64::sqlite-3.40.0-h5082296_0
tk pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0
wheel pkgs/main/noarch::wheel-0.37.1-pyhd3eb1b0_0
xz pkgs/main/linux-64::xz-5.2.8-h5eee18b_0
zlib pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate test
#
# To deactivate an active environment, use
#
# $ conda deactivate
激活環(huán)境
然后激活該環(huán)節(jié)
使用如下命令:
conda activate test
輸出如下:
(base) 用戶名@主機(jī)名:~# conda activate test
(test) 用戶名@主機(jī)名:~#
查看環(huán)境
使用pip list或者conda list查看環(huán)境
pip list
conda list
輸出如下:
(test) 用戶名@主機(jī)名:~# pip list
Package Version
---------- ---------
certifi 2022.9.24
pip 22.2.2
setuptools 65.5.0
wheel 0.37.1
(test) 用戶名@主機(jī)名:~# conda list
# packages in environment at /root/anaconda3/envs/test:
#
# Name Version Build Channel
_libgcc_mutex 0.1 main
_openmp_mutex 5.1 1_gnu
ca-certificates 2022.10.11 h06a4308_0
certifi 2022.9.24 py38h06a4308_0
ld_impl_linux-64 2.38 h1181459_1
libffi 3.4.2 h6a678d5_6
libgcc-ng 11.2.0 h1234567_1
libgomp 11.2.0 h1234567_1
libstdcxx-ng 11.2.0 h1234567_1
ncurses 6.3 h5eee18b_3
openssl 1.1.1s h7f8727e_0
pip 22.2.2 py38h06a4308_0
python 3.8.15 h7a1cb2a_2
readline 8.2 h5eee18b_0
setuptools 65.5.0 py38h06a4308_0
sqlite 3.40.0 h5082296_0
tk 8.6.12 h1ccaba5_0
wheel 0.37.1 pyhd3eb1b0_0
xz 5.2.8 h5eee18b_0
zlib 1.2.13 h5eee18b_0
使用conda info --envs查看環(huán)境
(test) 用戶名@主機(jī)名:~# conda info --envs
# conda environments:
#
base /root/anaconda3
test * /root/anaconda3/envs/test
退出環(huán)境
conda deactivate
(2)生成此環(huán)境對應(yīng)的jupyter lab選項(xiàng)卡;
安裝ipykernel
使用pip安裝ipykernel
pip install ipykernel
安裝jupyter menus
python -m ipykernel install --user --name [環(huán)境名稱] --display-name "[展示名稱]"
例如:
python -m ipykernel install --user --name test --display-name "Test"
測試使用的kernel的位置
在jupyter notebook或者jupyter lab中選擇Test kernel,輸入下面代碼,看看是否是環(huán)境的安裝路徑文章來源:http://www.zghlxwxcb.cn/news/detail-795335.html
import sys
print (sys.executable)
參考文獻(xiàn)
[1] anaconda https://baike.baidu.com/item/anaconda/20407441
https://www.anaconda.com
[2] 初學(xué) Python 者自學(xué) Anaconda 的正確姿勢是什么?https://zhuanlan.zhihu.com/p/32925500
[3] Anaconda介紹、安裝及使用教程 https://zhuanlan.zhihu.com/p/32925500
[4] conda常用命令匯總 https://blog.csdn.net/raelum/article/details/125109819
[5] Conda介紹 https://blog.csdn.net/koflance/article/details/78582737
[6] 用conda進(jìn)行python虛擬環(huán)境創(chuàng)建、管理以及jupyter和pycharm使用此環(huán)境 https://zhuanlan.zhihu.com/p/64100305文章來源地址http://www.zghlxwxcb.cn/news/detail-795335.html
到了這里,關(guān)于【Python相關(guān)】anaconda介紹、安裝及conda命令詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!