我们知道安装 anaconda3 之后会出现一下几个东东,我们来简单的了解下
1. Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现
2. Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程
3. spyder :一个使用Python语言、跨平台的、科学运算集成开发环境
4. qtconsole :一个可执行 IPython 的仿终端图形界面程序,相比 Python Shell 界面,qtconsole 可以直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数
01
conda --version
上面这个命令主要用于查询 anaconda3 的版本号,现在让我们按住键盘 (Win R),回车(enter),便会出现一个控制台,我们输入 conda --version
代码语言:javascript复制conda --version
02
activate
activate 能将我们引入anaconda设定的虚拟环境中, 如果你后面什么参数都不加那么会进入anaconda自带的base环境,
你可以输入python试试, 这样会进入base环境的python解释器, 如果你把原来环境中的python环境去除掉会更能体会到, 这个时候在命令行中使用的已经不是你原来的python而是base环境下的python.而命令行前面也会多一个(base)
说明当前我们处于的是base环境下
03
conda create -n learn python=3
代码语言:javascript复制conda create -n learn python=3
我们当然不满足一个base环境, 我们应该为自己的程序安装单独的虚拟环境.
创建一个名称为learn的虚拟环境并指定python版本为3(这里conda会自动找3中最新的版本下载)
04
conda activate learn
切换环境
代码语言:javascript复制conda activate learn
推出环境
代码语言:javascript复制conda deactivate
05
conda env list
代码语言:javascript复制conda env list
去查看所有的环境
现在的learn环境除了python自带的一些官方包之外是没有其他包的, 一个比较干净的环境我们可以试试
06
conda install package
代码语言:javascript复制conda install requests
or
代码语言:javascript复制pip install requests
07
conda list
要查看当前环境中所有安装了的包可以用
07
conda env export > environment.yaml
如果想要导出当前环境的包信息可以用
代码语言:javascript复制conda env export > environment.yaml
代码语言:javascript复制name: base
channels:
- defaults
dependencies:
- _ipyw_jlab_nb_ext_conf=0.1.0=py37_0
- alabaster=0.7.12=py37_0
- anaconda=2019.10=py37_0
- anaconda-client=1.7.2=py37_0
- anaconda-navigator=1.9.7=py37_0
- anaconda-project=0.8.3=py_0
- asn1crypto=1.0.1=py37_0
- astroid=2.3.1=py37_0
- astropy=3.2.1=py37he774522_0
- atomicwrites=1.3.0=py37_1
- attrs=19.2.0=py_0
- babel=2.7.0=py_0
- backcall=0.1.0=py37_0
- backports=1.0=py_2
- backports.functools_lru_cache=1.5=py_2
- backports.os=0.1.1=py37_0
- backports.shutil_get_terminal_size=1.0.0=py37_2
- backports.tempfile=1.0=py_1
- backports.weakref=1.0.post1=py_1
- beautifulsoup4=4.8.0=py37_0
- bitarray=1.0.1=py37he774522_0
- bkcharts=0.2=py37_0
- blas=1.0=mkl
- bleach=3.1.0=py37_0
- blosc=1.16.3=h7bd577a_0
- bokeh=1.3.4=py37_0
- boto=2.49.0=py37_0
- bottleneck=1.2.1=py37h452e1ab_1
- bzip2=1.0.8=he774522_0
- ca-certificates=2019.8.28=0
- certifi=2019.9.11=py37_0
- cffi=1.12.3=py37h7a1dbc1_0
- chardet=3.0.4=py37_1003
- click=7.0=py37_0
- cloudpickle=1.2.2=py_0
- clyent=1.2.2=py37_1
- colorama=0.4.1=py37_0
- comtypes=1.1.7=py37_0
- conda=4.7.12=py37_0
- conda-build=3.18.9=py37_3
- conda-env=2.6.0=1
- conda-package-handling=1.6.0=py37h62dcd97_0
- conda-verify=3.4.2=py_1
- console_shortcut=0.1.1=3
- contextlib2=0.6.0=py_0
- cryptography=2.7=py37h7a1dbc1_0
- curl=7.65.3=h2a8f88b_0
- cycler=0.10.0=py37_0
- cython=0.29.13=py37ha925a31_0
- cytoolz=0.10.0=py37he774522_0
- dask=2.5.2=py_0
- dask-core=2.5.2=py_0
- decorator=4.4.0=py37_1
- defusedxml=0.6.0=py_0
- distributed=2.5.2=py_0
- docutils=0.15.2=py37_0
- entrypoints=0.3=py37_0
- et_xmlfile=1.0.1=py37_0
- fastcache=1.1.0=py37he774522_0
- filelock=3.0.12=py_0
- flask=1.1.1=py_0
- freetype=2.9.1=ha9979f8_1
- fsspec=0.5.2=py_0
- future=0.17.1=py37_0
- get_terminal_size=1.0.0=h38e98db_0
- gevent=1.4.0=py37he774522_0
- glob2=0.7=py_0
- greenlet=0.4.15=py37hfa6e2cd_0
- h5py=2.9.0=py37h5e291fa_0
- hdf5=1.10.4=h7ebc959_0
- heapdict=1.0.1=py_0
- html5lib=1.0.1=py37_0
- icc_rt=2019.0.0=h0cc432a_1
- icu=58.2=ha66f8fd_1
- idna=2.8=py37_0
- imageio=2.6.0=py37_0
- imagesize=1.1.0=py37_0
- importlib_metadata=0.23=py37_0
- intel-openmp=2019.4=245
- ipykernel=5.1.2=py37h39e3cac_0
- ipython=7.8.0=py37h39e3cac_0
- ipython_genutils=0.2.0=py37_0
- ipywidgets=7.5.1=py_0
- isort=4.3.21=py37_0
- itsdangerous=1.1.0=py37_0
- jdcal=1.4.1=py_0
- jedi=0.15.1=py37_0
- jinja2=2.10.3=py_0
- joblib=0.13.2=py37_0
- jpeg=9b=hb83a4c4_2
- json5=0.8.5=py_0
- jsonschema=3.0.2=py37_0
- jupyter=1.0.0=py37_7
- jupyter_client=5.3.3=py37_1
- jupyter_console=6.0.0=py37_0
- jupyter_core=4.5.0=py_0
- jupyterlab=1.1.4=pyhf63ae98_0
- jupyterlab_server=1.0.6=py_0
- keyring=18.0.0=py37_0
- kiwisolver=1.1.0=py37ha925a31_0
- krb5=1.16.1=hc04afaa_7
- lazy-object-proxy=1.4.2=py37he774522_0
- libarchive=3.3.3=h0643e63_5
- libcurl=7.65.3=h2a8f88b_0
- libiconv=1.15=h1df5818_7
- liblief=0.9.0=ha925a31_2
- libpng=1.6.37=h2a8f88b_0
- libsodium=1.0.16=h9d3ae62_0
- libssh2=1.8.2=h7a1dbc1_0
- libtiff=4.0.10=hb898794_2
- libxml2=2.9.9=h464c3ec_0
- libxslt=1.1.33=h579f668_0
- llvmlite=0.29.0=py37ha925a31_0
- locket=0.2.0=py37_1
- lxml=4.4.1=py37h1350720_0
- lz4-c=1.8.1.2=h2fa13f4_0
- lzo=2.10=h6df0209_2
- m2w64-gcc-libgfortran=5.3.0=6
- m2w64-gcc-libs=5.3.0=7
- m2w64-gcc-libs-core=5.3.0=7
- m2w64-gmp=6.1.0=2
- m2w64-libwinpthread-git=5.0.0.4634.697f757=2
- markupsafe=1.1.1=py37he774522_0
- matplotlib=3.1.1=py37hc8f65d3_0
- mccabe=0.6.1=py37_1
- menuinst=1.4.16=py37he774522_0
- mistune=0.8.4=py37he774522_0
- mkl=2019.4=245
- mkl-service=2.3.0=py37hb782905_0
- mkl_fft=1.0.14=py37h14836fe_0
- mkl_random=1.1.0=py37h675688f_0
- mock=3.0.5=py37_0
- more-itertools=7.2.0=py37_0
- mpmath=1.1.0=py37_0
- msgpack-python=0.6.1=py37h74a9793_1
- msys2-conda-epoch=20160418=1
- multipledispatch=0.6.0=py37_0
- navigator-updater=0.2.1=py37_0
- nbconvert=5.6.0=py37_1
- nbformat=4.4.0=py37_0
- networkx=2.3=py_0
- nltk=3.4.5=py37_0
- nose=1.3.7=py37_2
- notebook=6.0.1=py37_0
- numba=0.45.1=py37hf9181ef_0
- numexpr=2.7.0=py37hdce8814_0
- numpy=1.16.5=py37h19fb1c0_0
- numpy-base=1.16.5=py37hc3f5095_0
- numpydoc=0.9.1=py_0
- olefile=0.46=py37_0
- openpyxl=3.0.0=py_0
- openssl=1.1.1d=he774522_2
- packaging=19.2=py_0
- pandas=0.25.1=py37ha925a31_0
- pandoc=2.2.3.2=0
- pandocfilters=1.4.2=py37_1
- parso=0.5.1=py_0
- partd=1.0.0=py_0
- path.py=12.0.1=py_0
- pathlib2=2.3.5=py37_0
- patsy=0.5.1=py37_0
- pep8=1.7.1=py37_0
- pickleshare=0.7.5=py37_0
- pillow=6.2.0=py37hdc69c19_0
- pip=19.2.3=py37_0
- pkginfo=1.5.0.1=py37_0
- pluggy=0.13.0=py37_0
- ply=3.11=py37_0
- powershell_shortcut=0.0.1=2
- prometheus_client=0.7.1=py_0
- prompt_toolkit=2.0.10=py_0
- psutil=5.6.3=py37he774522_0
- py=1.8.0=py37_0
- py-lief=0.9.0=py37ha925a31_2
- pycodestyle=2.5.0=py37_0
- pycosat=0.6.3=py37hfa6e2cd_0
- pycparser=2.19=py37_0
- pycrypto=2.6.1=py37hfa6e2cd_9
- pycurl=7.43.0.3=py37h7a1dbc1_0
- pyflakes=2.1.1=py37_0
- pygments=2.4.2=py_0
- pylint=2.4.2=py37_0
- pyodbc=4.0.27=py37ha925a31_0
- pyopenssl=19.0.0=py37_0
- pyparsing=2.4.2=py_0
- pyqt=5.9.2=py37h6538335_2
- pyreadline=2.1=py37_1
- pyrsistent=0.15.4=py37he774522_0
- pysocks=1.7.1=py37_0
- pytables=3.5.2=py37h1da0976_1
- pytest=5.2.1=py37_0
- pytest-arraydiff=0.3=py37h39e3cac_0
- pytest-astropy=0.5.0=py37_0
- pytest-doctestplus=0.4.0=py_0
- pytest-openfiles=0.4.0=py_0
- pytest-remotedata=0.3.2=py37_0
- python=3.7.4=h5263a28_0
- python-dateutil=2.8.0=py37_0
- python-libarchive-c=2.8=py37_13
- pytz=2019.3=py_0
- pywavelets=1.0.3=py37h8c2d366_1
- pywin32=223=py37hfa6e2cd_1
- pywinpty=0.5.5=py37_1000
- pyyaml=5.1.2=py37he774522_0
- pyzmq=18.1.0=py37ha925a31_0
- qt=5.9.7=vc14h73c81de_0
- qtawesome=0.6.0=py_0
- qtconsole=4.5.5=py_0
- qtpy=1.9.0=py_0
- requests=2.22.0=py37_0
- rope=0.14.0=py_0
- ruamel_yaml=0.15.46=py37hfa6e2cd_0
- scikit-image=0.15.0=py37ha925a31_0
- scikit-learn=0.21.3=py37h6288b17_0
- scipy=1.3.1=py37h29ff71c_0
- seaborn=0.9.0=py37_0
- send2trash=1.5.0=py37_0
- setuptools=41.4.0=py37_0
- simplegeneric=0.8.1=py37_2
- singledispatch=3.4.0.3=py37_0
- sip=4.19.8=py37h6538335_0
- six=1.12.0=py37_0
- snappy=1.1.7=h777316e_3
- snowballstemmer=2.0.0=py_0
- sortedcollections=1.1.2=py37_0
- sortedcontainers=2.1.0=py37_0
- soupsieve=1.9.3=py37_0
- sphinx=2.2.0=py_0
- sphinxcontrib=1.0=py37_1
- sphinxcontrib-applehelp=1.0.1=py_0
- sphinxcontrib-devhelp=1.0.1=py_0
- sphinxcontrib-htmlhelp=1.0.2=py_0
- sphinxcontrib-jsmath=1.0.1=py_0
- sphinxcontrib-qthelp=1.0.2=py_0
- sphinxcontrib-serializinghtml=1.1.3=py_0
- sphinxcontrib-websupport=1.1.2=py_0
- spyder=3.3.6=py37_0
- spyder-kernels=0.5.2=py37_0
- sqlalchemy=1.3.9=py37he774522_0
- sqlite=3.30.0=he774522_0
- statsmodels=0.10.1=py37h8c2d366_0
- sympy=1.4=py37_0
- tbb=2019.4=h74a9793_0
- tblib=1.4.0=py_0
- terminado=0.8.2=py37_0
- testpath=0.4.2=py37_0
- tk=8.6.8=hfa6e2cd_0
- toolz=0.10.0=py_0
- tornado=6.0.3=py37he774522_0
- tqdm=4.36.1=py_0
- traitlets=4.3.3=py37_0
- unicodecsv=0.14.1=py37_0
- urllib3=1.24.2=py37_0
- vc=14.1=h0510ff6_4
- vs2015_runtime=14.16.27012=hf0eaf9b_0
- wcwidth=0.1.7=py37_0
- webencodings=0.5.1=py37_1
- werkzeug=0.16.0=py_0
- wheel=0.33.6=py37_0
- widgetsnbextension=3.5.1=py37_0
- win_inet_pton=1.1.0=py37_0
- win_unicode_console=0.5=py37_0
- wincertstore=0.2=py37_0
- winpty=0.4.3=4
- wrapt=1.11.2=py37he774522_0
- xlrd=1.2.0=py37_0
- xlsxwriter=1.2.1=py_0
- xlwings=0.15.10=py37_0
- xlwt=1.3.0=py37_0
- xz=5.2.4=h2fa13f4_4
- yaml=0.1.7=hc54c509_2
- zeromq=4.3.1=h33f27b4_3
- zict=1.0.0=py_0
- zipp=0.6.0=py_0
- zlib=1.2.11=h62dcd97_3
- zstd=1.3.7=h508b16e_0
prefix: D:Anaconda3
导入信息
代码语言:javascript复制conda env create -f environment.yaml
08
more
代码语言:javascript复制activate // 切换到base环境
activate learn // 切换到learn环境
conda create -n learn python=3 // 创建一个名为learn的环境并指定python版本为3(的最新版本)
conda env list // 列出conda管理的所有环境
conda list // 列出当前环境的所有包
conda install requests 安装requests包
conda remove requests 卸载requets包
conda remove -n learn --all // 删除learn环境及下属所有包
conda update requests 更新requests包
conda env export > environment.yaml // 导出当前环境的包信息
conda env create -f environment.yaml // 用配置文件创建新的虚拟环境
08
与 pyCharm 链接
在工作环境中我们会集成开发环境去编码, 这里推荐JB公司的pycharm, 而pycharm也能很方便的和anaconda的虚拟环境结合
在Setting => Project => Project Interpreter
里面修改 Project Interpreter , 点击齿轮标志再点击Add Local为你某个环境的python.exe解释器就行了
比如你要在learn环境中编写程序, 那么就修改为D:SoftwareAnacondaenvslearn
, 可以看到这时候下面的依赖包也变成了learn环境中的包了.接下来我们就可以在pycharm中愉快的编码了.
结语
现在你是不是发现用上anaconda就可以十分优雅简单的解决上面所提及的单个python环境所带来的弊端了呢, 而且也明白了其实这一切的实现并没有那么神奇.
当然anaconda除了包管理之外还在于其丰富数据分析包, 不过那就是另一个内容了, 我们先学会用anaconda去换一种方法管里自己的开发环境, 这已经是一个很大的进步了