1. pycharm下载安装
1.1 下载pycharm
我用的是联想应用商城直接下载的pycharm社区免费版。
1.2 安装pycharm
傻瓜式安装,跟着步骤走就行,不过要改一下安装位置和安装选项。这里建议选择添加至PATH环境变量,并关联.py文件。添加至右键菜单,可以在文件夹上单击右键使以Pycharm项目打开文件夹。关联.py文件指默认用Pycharm打开.py文件。
2. miniconda下载安装
1.1 下载miniconda
同样在商城直接下载miniconda3。
1.2 安装miniconda
在最后安装选项里建议两个选项都进行勾选。第一个选项是将Miniconda3添加到PATH路径中,以便使用命令行或终端使用conda命令。需要注意的是,如果之前安装过Anaconda需要先进行卸载,以免引起错误。第二个选项是将Miniconda3设置为默认的系统Python环境,其他IDE中使用Python时会首先调用Miniconda中的Python及其相关环境。
安装完成后按win+r,输入cmd打开命令行,输入conda,如果看到如下图所示的输出,就说明miniconda安装完成了。
3. 在pycharm中使用miniconda环境
双击打开pycharm后在projects中创建一个新的项目文件“New Project”。
第一个Location指项目存放的地址,一般我存放在e盘;新环境使用conda,其创建的环境我一般放在跟miniconda安装路径一致的envs下,这里需要注意它默认创建的环境文件放在c盘的envs中;python的版本根据自己需求选择;conda executable是用自己之前安装的miniconda的安装路径中的conda.bat文件;make available to all projects则表示当我们在虚拟环境中安装第三方包的时候,同时也在base环境中安装一份(后面会解释base),一般不勾选。选好后即可create。
创建成功后,即为以下所示界面。
在terminal中即可看到本项目所在的虚拟环境为pythonProject1;在终端输入conda env list 即可列出所有的conda环境,如下图所示。其中我们安装的miniconda的安装路径所在的环境为base,而pythonProject1是我们刚才创建的新虚拟环境。
在终端输入python我们即可查看目前项目所在虚拟环境的python版本。
由于之前我们创建项目时未勾选make available to all projects的选项,故我们在虚拟环境中所安装的第三方包其安装路径均在E:\miniconda3\envs\pythonProject1\Lib\site-packages中,而不会复制一份到E:\miniconda3\Lib\site-packages中。
因为初学者经常会一些概念不清,在不同环境下了安装第三方包却无法正常调用,所以强烈建议不要直接使用base环境。
4. 使用conda命令
为了更好地学习conda命令,我们重新从零开始创建一个conda虚拟环境。打开cmd命令行或者Pycharm中的Terminal终端输入命令,这里我使用cmd进行操作。
4.1 conda换源
- 因为conda的默认源在国外,下载第三方包非常缓慢,因此需要先更换为conda的清华源。打开清华源官网anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror。
-
首先复制conda config --set show_channel_urls yes这行命令到cmd并执行。
-
然后用记事本打开用户目录下的.condarc文件(打开C盘->用户->你的用户名->.condarc文件,注意condarc前的点)。
- 将红框中的文字复制到.condarc文件中并保存。
- 在cmd中执行conda clean -i命令。
-
4.2 使用conda创建环境与安装第三方包
-
首先使用conda create -n NAME [python=3.8] [-y]命令创建一个新的环境,中括号表示可选项,将NAME替换为新环境的名称。
如果输入python=3.8则可以创建一个python版本为3.8的环境,否则默认创建一个与base环境相同python版本的环境。这里强烈建议加上python=3.8这个参数,原因在下一小节中会提到。
如果输入-y参数可以跳过后面确认安装的步骤。这里的python=3.8还可以替换成其他的第三方包,或者同时输入多个包并以空格形式隔开,conda会自动解析其依赖并直接安装好。
conda create -n NAME
conda create -n NAME -y
conda create -n NAME python
conda create -n NAME numpy
conda create -n NAME python=3.9 numpy
conda create -n NAME python=3.9 numpy=1.20
这里我输入conda create -n test python=3.8 numpy命令,然后输入y确定,就会创建一个名为test的,python版本为3.8的,包含numpy的conda虚拟环境。创建好之后,可以使用conda activate test激活该环境(使用Pycharm的Terminal时需要新另开一个Terminal终端)。
使用conda list可以查看该虚拟环境中安装的所有第三方包,可以发现numpy已经安装好,并且python的版本为3.8.17(写博客时python3.8中最新的版本)。
在conda环境中正确使用pip
太长不看版:请务必使用conda create -n NAME python来创建虚拟环境,确保在创建环境时就安装了python和pip,这样在conda虚拟环境中安装第三方包时可以直接使用pip的所有命令。
详细说明版:
如果conda环境中安装了python,那么直接使用pip即可将第三方包安装在当前的虚拟环境中,因为安装python时默认会同时安装pip包到该虚拟环境中。因此强烈建议在创建conda环境的同时加上python包参数。
如果创建conda时只使用conda create -n NAME创建了一个空环境,那么直接使用pip命令会将第三方包安装到base环境中。此时需要先使用conda install python命令安装python才能正常地在虚拟环境中使用pip。
例如,我使用conda create -n test python=3.8 numpy命令创建了test虚拟环境,使用conda create -n test1命令创建了test1虚拟环境。通过使用where pip命令和where python命令进行直观地对比,可以看出默认的pip和python命令是哪个。同时输出多个路径时(test环境中的where pip和where python),会默认使用第一个位置。
有些同学在安装Miniconda或Anaconda之前安装过独立的Python,或者是Windows自带的Python。这个Python是直接安装在了用户目录下的(C:\Users\username\AppData\Local\Microsoft\WindowsApps\python.exe),如果担心当前使用的是这个自带的python环境,也可以使用where python和where pip命令进行查看。
值得一提的是很多教程中会使用–user作为pip命令的参数,该命令的作用是在用户目录(C:\Users\username\AppData\Roaming\Python\Python38\site-packages)中安装python第三方包。安装在这个目录中的包能够在base环境中正常使用,但是不能在其他conda环境中使用。并且考虑到应该使同一环境中的包安装在同一个位置,所以不推荐使用该命令。
例如,在test1环境(未安装python和pip包)中依次使用pip install numpy --user命令和pip install matplotlib命令,效果如下。可以发现在base环境中,有matplotlib包,但没有numpy包,matplotlib包安装在D:\miniconda3\Lib\site-packages中,而numpy安装在C:\Users\username\AppData\Roaming\Python\Python38\site-packages中。
在Pycharm中改变项目环境为base环境,并导入这两个包时均无报错,但查看包文件的位置时,却是安装在上述两个不同的目录下的。
pip换源
永久换源:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
临时换源:在使用pip的时候在后面加上-i参数,指定pip源。例如,pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
国内镜像源:
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
其他conda命令
操作 | 命令 |
查看环境中已经安装的包 | conda list |
查看所有conda环境 | conda env list 或 conda info -e |
创建指定python版本的conda环境 | conda create -n ENV_NAME python=3.8 |
创建包含某些包的环境 | conda create -n ENV_NAME PACKAGE_NAME |
安装包 | conda install PACKAGE_NAME |
更新包 | conda update requests |
更新所有包 | conda update --all |
更新conda版本 | conda update conda |
查看conda版本 | conda -V |
进入指定环境 | conda activate ENV_NAME |
退出当前环境 | conda deactivate |
删除某环境 | conda remove ENV_NAME --all |
5. 如何切换Pycharm项目使用的conda环境
在上面的步骤中,我们使用命令行创建了test虚拟环境,但此时Pycharm的项目中使用的还是原来的环境,需要我们手动切换。
打开File->Settings->Project->Python Interpreter->Add Interpreter->Add Local Interpreter
virtualenv environment中改变python编译器的使用路径,但这个更改后项目环境为python环境,并不为conda环境;conda environment中可以切换我们项目所使用的conda虚拟环境,一开始点开时conda executable需要自己选择自己安装miniconda的路径文件,然后选择use existing environment 选择所需要的虚拟环境即可。