Python环境配置教程:以venv和pycharm为例

假设我们要做一些语料库处理,预期使用python3.8.10和NLTK插件。电脑为windows系统。

首先,下载python3.8.10。在https://www.python.org/downloads/windows/找到对应安装包文件(注意是.exe而非.zip文件,下载后打开,逐步安装即可)。(此部分教程较为容易找到,略)。建议找一个剩余空间较大的盘,把python和后面介绍的虚拟环境都安装在这个盘中。

第二步,配置虚拟环境。为什么要配置虚拟环境呢?因为python的库版本繁多,库与库之间的依存、矛盾关系复杂。Python不像Matlab,每次想把现在用的插件(库)换掉时,只要restoredefaultpath; addpath(‘…\path\of\your\package\’); 就可以了。Matlab的插件安装实际上就是下载文件。而Python的库安装比较复杂一些。设想我们想用同一个版本的python(如python3.8.10)做不同的事情,例如,一个是连续脑电EEG信号的神经解码,另一个是语料库词频和搭配分析。这两个项目可能都需要用到python的一些基础库(但可能用不同版本),还会用到各自单独用的库。如果直接把两个项目所有用到的库都下载到安装的python程序上,可以设想,一些库不能同时安装两个不同的版本、一些库与其他库之间会“撞车”等等问题,导致每次切换项目都要重新管理一遍python软件的库,这就极其麻烦、易出错。虚拟环境可以解决这个问题。你可以把一个虚拟环境想象为安装的“原版python”的一个“影分身”,一个python可以有多个“影分身”,每个“影分身”我们给它安装不同的库,这样只要每个项目用一个“影分身”,就可以解决上述问题了。下面介绍基于venv的虚拟环境配置。

找一个你想放置虚拟环境的路径,例如是F盘。打开这个路径,点击显示路径处,全选字符并删除,输入“cmd”,回车,这样就会弹出该路径的终端。

回车后:

输入:

你下载的python3.8.10的路径下python.exe这个文件的路径 -m venv 你想设置的虚拟环境的名字

例如图中我的:

输入后回车,过一会即可看到创建完成(就是图靠下面的那个TextAnalytics文件夹,就是这次创建的虚拟环境)。这样我们的虚拟环境就创建成功了。

然后关掉这个终端页面,打开虚拟环境(其实就是文件夹)“TextAnalytics”,看到下图。这时我们激活这个虚拟环境。

还是和上面一样,把路径删除后输入“cmd”,回车。

输入“Scripts\activate”,回车,就会变成下面这样。

(其实在F:\路径的终端中输入“TextAnalytics\Scripts\activate”再回车,可能是同理的;windows和unix\macOS系统的写法格式不同,详见Install packages in a virtual environment using pip and venv - Python Packaging User Guide。)

虚拟环境TextAnalytics此时即处于激活状态,若关闭这个终端,即处于非激活状态了。后面我们为这个虚拟环境下载库之后,每次使用这个虚拟环境,也都还是需要如法激活的。

关于安装python的库,你可能在很多教程见过pip install …这行代码。很多人写python库下载教程都不提终端和环境配置,导致初学者还以为要在python代码里写!实际上,pip install … 是写在终端而非python代码编辑器中的。

搜索NLTK官网信息,会告诉我们下载时写pip install nltk即可。不过,由于某些原因,在中国大陆直接这样下载python库会非常慢,慢到报超时错。好在有些网站提供了python库下载的国内源,以下是一些常用国内源:

(1)阿里云 http://mirrors.aliyun.com/pypi/simple/

(2)豆瓣http://pypi.douban.com/simple/

(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

(4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

(5)华中科技大学http://pypi.hustunique.com/

例如我们试一下豆瓣的源是否能成功下载NLTK。在终端里写:

pip install nltk -i http://pypi.douban.com/simple/

还是报错了,如图:

其中,第一行报错“Warning: The repository … not a trusted or secure host and is being ignored”可以用以下方法解决:

pip install nltk -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

其中—trusted-host的部分就是源去掉//及其以前的部分的字符。

但还有一个报错是红色字体部分,这个报错也很常见,意思是在这个源中没找到NLTK这个插件,这很好办,多试几个不同的源就好了。我们试一下清华大学的源:

下载成功。

这样,我们就在我们下载的python3.8.10的“影分身”即虚拟环境TextAnalytics中,安装了NLTK这个库。

如果我们要指定安装的NLTK的版本为3.9.1,则刚才安装时改为:

pip install nltk==3.9.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/

即可。通常不指定库版本时会下载最新或某个默认版本。如果还是报错“Warning: The repository … not a trusted or secure host and is being ignored”,改为

pip install nltk==3.9.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn/simple/

即可。

需要注意的是,python安装库,报错非常常见,因为可能安装的库依赖其他的库或者一些极少用的软件,或与其他一些库“撞车”。不过,通常来说,报错英文提示中会有解决方案(如提到这些库或软件的名字),上网搜反而有时不容易搜到。如果存在这类问题,安装相应库或软件,或卸载相应库,一般就可以了,安装和卸载教程易搜到,略。有时会因为pip版本问题报错(你可以理解为pip是python自带的一个库),不过这类问题网上也很容易搜到解决办法,此处略。

若要了解已经安装的某库的版本等信息,在终端输入:

pip show 版本名

要了解所有已安装的库及其版本号,在终端输入

pip list

现在我们下载pycharm,community版(社区版)即可,无需专业版。为什么用pycharm呢?因为python自带的代码编辑器不太好用,相对简陋,pycharm本身并非编程语言平台,而是把python这个编程语言平台更“软件化”了,使其使用更方便,用户界面更友好。

为了方便管理,我们在F盘建一个TextAnalyses文件夹,用来放pycharm代码。

打开pycharm,点击File – New Project。

Location我们选择刚才建的TextAnalyses(注意如果pycharm项目的Location即母路径不是一个空的文件夹,就会报错)。

Interpreter我们选择Previously configured interpreter,点击Interpreter最右侧的三个点,然后选择…\TextAnalytics\Scripts\python.exe,确定。这样,我们就让这个pycharm项目“使用”了我们前面创建的虚拟环境。

Create a main.py welcome script保持勾选状态。

点击Create。

打开TextAnalyses文件夹可以看到项目创建好了。.idea文件夹通常不用管,而main.py可以看作待编辑的代码。

Create后会有一个弹窗问代码显示在本窗口还是新窗口。这个没大所谓,通常选择本窗口即可,若选择新窗口则pycharm会处于双开状态且main.py代码会在新的pycharm窗口显示。

main.py文件可以改名,只要不改后缀名,通常无影响。

Create后main.py的打开状态效果图如上图。已经有的代码没什么用,可以删掉。

点击View,在Tool Windows中点击Python Console,这样工作行命令和工作变量就会出来,这是我个人的编程习惯。

通常我们的“脚本”或“代码”不是打开即运行,而更像是一个“代码库”。例如我们把示例代码中选择一部分,右键,点击Execute Selection in Python Console,这些选中的代码才会真正“运行”。

而代码的运行情况会显示在“工作行命令”(个人习惯叫法),即图中Python Console的左半部分。

通常来说,代码中函数的处理对象是“变量”,变量的情况显示在工作变量(也是个人习惯叫法)即Python Console的右半部分。

这也是为什么我建议大家打开python console。工作行命令和工作变量对于编程中实时测试代码十分重要。

本文介绍了基于venv和pycharm的python编程环境配置。关于pycharm界面的介绍,请参pycharm官网教程。关于python编程入门,推荐菜鸟教程或python官网教程。但这些本文不涉及。

这部分教程内容并不难,但是网络上许多教程公然胡说或者默认读者已经熟练环境配置,使得初学者踩很多坑,本文可以用于初学教程或专业人员的备忘录。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐