新手教程:使用Pycharm的本地conda环境运行程序

一.新建Projects并利用conda新建环境

点击File的New Project选项

新手教程:使用Pycharm的本地conda环境运行程序

1.这里的第一个location代表的是工程文件储存的位置,我将所有的pycharm文件都储存在PycharmProjects文件夹下,将新建的工程命名为Project_test_1。

2.在新建工程的时候我们发现pycharm提供了为工程创建环境的选项。这里我们使用conda为新的pycharm工程文件创建环境。所谓工程环境代表了我们运行python的环境:各种扩展包例如pytorch、numpy以及python的版本(有些比较旧的代码采用Python2写,需要2.7的环境)。而conda给我们提供了一个空的虚拟环境:conda本身存在一个python的解释器,我们只需要利用pip安装我们所需要的各种扩展包,并选择python的版本即可。

这里我用的是miniconda来创建环境:miniconda相比anaconda更加简洁,只存在python。这里我们有两个选项:(1)New environment using新建环境变量 (2)Previously configured interpreter 使用之前已经创建的环境

(1)首先来看新建conda环境。这里的Location代表我环境文件存放的位置。miniconda所有的环境文件都存放在envs文件夹中,点开可以看到我们之前配置好的环境:

新手教程:使用Pycharm的本地conda环境运行程序

由于是新建环境,因此我们选择的环境文件必须是新建的(空的)。我们在envs文件夹下新建一个环境文件test_env_1作为我们新project的环境存放处。

每当我们新建一个环境时,conda都会在环境文件夹中添加python解释器python.exe文件。根据不同工程的代码需求,新建环境时我们可以选择不同版本的python作为解释器。这里我们就采用最新的python 3.8版本。

Conda executable代表conda可执行程序,它用来帮助你建立conda环境,这里采用Scripts文件夹下的conda.exe(默认)。由于我们使用conda环境就是为了不同工程管理环境更加方便,因此我们不选择对所有工程都可获得的选项。

(2)使用之前已经存在的环境。我们新建的工程可以使用我们之前创建好的环境

新手教程:使用Pycharm的本地conda环境运行程序

点击interpreter后面的browse选项添加已有的环境文件,在左侧选择conda interpreter。在这里我们可以看到解释器的路径:miniconda的envs文件夹内,存有之前设置好的环境文件夹DIPfall。所有利用conda配置好的环境文件夹内都有python.exe。注意我们最终的解释器最后都要落在python.exe上。

(3)如果我们新建了工程Project_test_2但是没有设置环境(或者设置失败了),我们可以看到工程左侧的external library内是没有内容的。我们也可以利用如下的方式来新建(使用anaconda)

在新建的Project_test_2内点击File->Settings可以看到我们的没有搭建环境的工程:Project_test_2

新手教程:使用Pycharm的本地conda环境运行程序

我们点开Python Interpreter,观察python的解释器:发现 所有的解释器最后都落在python.exe上。因为本质上无论我们选择什么环境,只要我们用python去写都是在用python作为解释器。还是在本地的conda环境中,python.exe就存在于我们构建的环境文件夹下。

新手教程:使用Pycharm的本地conda环境运行程序

由于我们要新建环境,因此我们要新添加一个Python解释器:点击右侧设置(齿轮按钮),选择add:进入下图,在左侧选择conda environment:

新手教程:使用Pycharm的本地conda环境运行程序

选择New Environment,由于我们是采用anaconda创建,因此Location是我们anaconda存放的环境:在anaconda3下面的envs内创建一个新的环境文件夹test_env_2,选择python版本为3.8,选择conda executable为Scrpts文件夹下的conda.exe(注意虽然是anaconda但是也要选择conda.exe而不是anaconda.exe)。图中提示环境的位置必须是空,这是因为我们选择了创建一个新环境,那么新环境文件夹必须是空文件夹。如果我们环境文件夹不是空,可以选择下面的已有环境(例如我们之前在miniconda配置好的环境DIPfall),在里面找到我们之前配置好的环境。

我们这里选择新建环境,点击create即可,随后即等待conda自己配置环境。

新手教程:使用Pycharm的本地conda环境运行程序

当完成新建后,界面如下图所示:

新手教程:使用Pycharm的本地conda环境运行程序

这里我们会发现在左侧workspace内 ,我们新建的project下方会有一个External Libraries并且里面有内容。这代表我们的环境是外部导入的(miniconda或anaconda帮助pycharm创建的)。pycharm通过External Libraries给出了miniconda/anaconda创建的环境文件夹的路径以及内容。

如果我们不采用conda而是pycharm自己的虚拟环境,那么pycharm就会在我们创建的工程文件夹下自己创建一个环境文件夹venv(virtual environment),如下图所示:

新手教程:使用Pycharm的本地conda环境运行程序

二.新建文件并配置环境

新手教程:使用Pycharm的本地conda环境运行程序

由于我们选择的是python file因此test后不需要加.py

新手教程:使用Pycharm的本地conda环境运行程序

新建完成后,我们就可以在test.py内写我们的code。但是我们这是导入一些常用的package比如numpy导入不进来,这是因为我们只是创建了conda虚拟环境,但是没有配置环境。我们需要为这个虚拟环境test_env_1添加package。

我们点击pycharm左下角的terminal,进入控制台界面:

新手教程:使用Pycharm的本地conda环境运行程序

可以看到我们当前所在的路径是我们新建的工程文件的路径。首先我们要进入我们的虚拟环境才可以进行环境的配置,为此我们输入命令:conda env list 来查看所有的环境文件列表:

新手教程:使用Pycharm的本地conda环境运行程序

在这里我们找到了之前已经创建好的环境文件以及我们新建的环境test_env_1,我们输入命令:conda activate test_env_1进入该环境

新手教程:使用Pycharm的本地conda环境运行程序

这时我们发现路径前有一个括号:(test_env_1)代表我们已经进入了这个环境,这时我们就可以利用pip install命令来安装package:输入命令 pip install numpy,显示安装成功。

新手教程:使用Pycharm的本地conda环境运行程序

在左侧workspace的site-packages内可以看到我们新安装的numpy

新手教程:使用Pycharm的本地conda环境运行程序

类似地我们也可以安装其他的packages,例如matplotlib、qpsolvers等。

最终所有安装的packages都可以在环境文件夹下的 Lib\sit-packages下找到。

三.运行程序以及autopep8

在test.py中写我们的第一个绘图程序

新手教程:使用Pycharm的本地conda环境运行程序

右键点击程序的背景空白部分,点击run”test”

新手教程:使用Pycharm的本地conda环境运行程序

程序的输出会显示在pycharm的下方Run内,并且以Process finished with exit code 0结束。而输出的图像会显示在pycharm的右侧的 Sciview内:点击右侧的Sciview就显示了我们一块画布的两个坐标系的子图。

新手教程:使用Pycharm的本地conda环境运行程序

我们发现虽然我们的程序没有bug,但是有很多的波浪线,这是因为我们的代码没有符合python的编码规范pep8,我们可以利用工具autopep8自动为我们修改python编码格式。

首先我们在环境内利用pip install autopep8下载安装包。我们可以利用External Tools工具提供方便

随后我们点击File->Setting->Tools->External Tools进入到如下界面:

新手教程:使用Pycharm的本地conda环境运行程序

在Name处自己命名工具的名字,这里我直接写autopep8。

Program:找到自己下载的autopep8的可执行文件的地址:在环境文件的 Scripts内,找到exe文件。

Arguments:Arguments: –in-place –aggressive –aggressive $FilePath$(这个FilePath在+内找到)

Working directory:在+内找到ProjectFileDir

Advanced Options:Output Filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*

点击ok即可发现我们已经添加了autopep8

新手教程:使用Pycharm的本地conda环境运行程序

新手教程:使用Pycharm的本地conda环境运行程序

四.Pycharm的Debug

新手教程:使用Pycharm的本地conda环境运行程序

我们写了 这样一个程序:希望在四个画布上分别画出四个函数的图形,现在程序有bug,我们右键点击程序背景部分,点击debug

新手教程:使用Pycharm的本地conda环境运行程序

下面有两个部分,一个是debugger,一个是console。console可以观察程序的输出,有时我们在程序内print一些关键信息就可以在console内看到,而debugger可以来观察我们想观察的变量。

debug上方的几个按钮我们主要用前两个以及倒数第二个:单步前进、进入函数(循环)内部、跳出函数(循环)

新手教程:使用Pycharm的本地conda环境运行程序

我们可以点击右下角的方块(如下图)内的watches(眼镜图标也是wacthes的意思),打开wacthes界面。点击左侧的”+”可以添加我们想要观察的变量。右侧方块内还有console等可以控制debug界面的显示,我们调试到个人觉得最舒服的界面就行。

新手教程:使用Pycharm的本地conda环境运行程序

例如我们添加一个g(x,i).shape与x的shape作比较,可以随着代码前进输出我们想观察的值。

新手教程:使用Pycharm的本地conda环境运行程序

我们逐步进行前进,直到step into 到g函数内,发现我们不应该写else,因为只要第一次判断不同就进入else输出错误的结果。我们在主代码内去掉else,重新运行:

新手教程:使用Pycharm的本地conda环境运行程序

可以正常输出图形,下面的界面是我认为最舒服的界面:把console与variable分开,关闭wacthes。在右侧的Sciview内又可以看到我们输出的图形:一行四列符合我们预期,同时在最右侧的小图还可以看到我们的历史图形输出的记录。

Original: https://blog.csdn.net/weixin_42641207/article/details/120612850
Author: 褚峤松
Title: 新手教程:使用Pycharm的本地conda环境运行程序

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/770326/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球