目录
- Anaconda
- 安装和初始配置
- 创建环境
- VSCode中使用
- 总结与问答练习
时效性
本篇撰写时间为2021.11.13,由于计算机技术日新月异,博客中所有内容都有时效和版本限制,具体做法不一定总行得通,链接可能改动失效,各种软件的用法可能有修改。但是其中透露的思想往往是值得学习的。
Windows 10家庭中文版,版本20H2,操作系统内部版本19042.1288
本篇前置:
- ExpRe[0] VSCode[0] 安装和基础使用,联动Markdown,联动知乎
Anaconda
安装和初始配置
Anaconda是包和环境管理器,利于制造出互不干扰的python
程序运行环境。且内置常用科学包。
-
下载安装Anaconda
时效性:Anaconda版本conda 4.10.1 - 打开Anaconda Prompt(如果找不到请左下角任务栏搜索)(为了方便下次找可以把快捷方式放到桌面)
(在Anaconda Prompt用conda -V
查询版本) - 用
conda config
创建.condarc
配置文件,进行适当配置。
- 具体配置方法可以是
conda config --set
,conda config --add
等命令,也可以是直接编辑C:\Users\<用户名>\.condarc
(使用YAML语法)
- 常用配置包括
- 代理设置(这个不设置的话conda就用不了代理。即使你系统本身有代理)
- 清华源
- 搜索时显示
channel
等。
典型配置结果:
创建环境
- 在Anaconda Prompt中用
conda create -n <环境名> python=<版本号>
创建环境。 - 创建成功后可做如下验证。
(base) C:\Users\major_seventh>conda activate unittest
(unittest) C:\Users\major_seventh>python
Python 3.8.12 | packaged by conda-forge | (default, Oct 12 2021, 21:19:05) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
(unittest) C:\Users\major_seventh>conda deactivate
(base) C:\Users\major_seventh>python
Python 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
(base) C:\Users\major_seventh>
可以看到python
命令在两个环境都可正常使用,但版本不同。
有趣的是,如果此时再conda deactivate
退出base
环境,将使用“系统原有的python”。
如果原先没装python且装Anaconda时没有选择添加环境变量,则此时输入python
将进入应用商店。
- 打开VSCode,
Ctrl+Shift+X
选择Python
插件安装时效性:版本v2021.11.1422169775. - 再按下图按钮选择解释器。
- 可以看到已经识别出了之前配置好的环境
unittest
,以及Anaconda自带的base
. - 用VSCode打开新文件夹,新建一个
.py
文件,即可开始编程。 - 下一期我们将在此环境使用
unittest
包做单元测试和做算法题等。
- Q: 为什么新建的
.condarc
文件不是空的?
A: 有一个{}
,在YAML表示空字典。
注意YAML中类型分为对象(“字典”),数组,纯量(字符串,整数……之类)。
null(~
,属于null类型)和空字符串(""
,属于字符串类型)与空字典是不同的类型。.condarc
显然整体是一个字典,空的时候应当是空字典。 - Q: 安装conda时如果将相应路径添加到环境变量
PATH
,将有什么影响?
A:
- 优点:可以在Powershell直接用
conda
命令。(VSCode里的Terminal也可以直接用) - 注:在不添加环境变量时,可以看到每次VSCode运行
.py
文件都把解释器的绝对路径写了出来。且Terminal里无法直接使用conda
命令。 - 缺点:可能影响其它程序。
举例:在Linux中使用ROS(机器人操作系统)的较老版本时,需要python 2.7,此时如果添加了环境变量就可能对此造成影响。