刚学习python的同学经常会遇到一个问题: 已经安装了特定的包或者第三库,但是pycharm总是提示没有找到。
比如我已经有ddt了,可运行脚本的时候却告诉我没有这个模块:
出现这种问题,你需要去检查一下你实际使用的python环境和你正在配置的环境是否是同一个,因为python里经常会遇到叫虚拟环境的玩意,可能你在不经意的瞬间已经创建了一个虚拟环境。
一、虚拟环境的好处
虚拟环境是一个将不同项目所需求的依赖分别放在独立的地方的一个工具。
你可以大致理解成他是我们安装的python.exe 的一份拷贝,这份拷贝独立维护了每一个项目所需要的工具和库。
比如我们有2个项目yuz1和yuz2。
yuz1需要安装ddt的1.2.1版本。
yuz2是一个很老的项目,他需要ddt的1.1.2版本,不能升级到1.2.1。
所以在python当中,我们需要维护2套依赖库的环境,当我要运行yuz1, 就用环境1, 当我要运行yuz2,就是用环境2。
二、新建项目创建虚拟环境
从Python3.5以后,python可以非常方便的创建虚拟环境。
直接命令行创建:
在当前工作目录中找到venv_name文件夹。
在venv_name文件夹中,您将找到一个Scripts 文件夹,在这里你可以激活你的虚拟环境。
1、激活虚拟环境
在当前目录下,使用cmd运行activate:
激活后会看看到路径前面多了一个括号:
2、退出虚拟环境:
退出环境以后,括号会消失,我们又回到了系统的python环境当中。
3、虚拟环境当中的python.exe
虚拟环境当中的python.exe和系统的python.exe没有什么区别,如果想要通过虚拟环境去运行对应的python文件,加上绝对路径就可以直接运行,不需要 activate激活。
这个在项目部署的时候非常有用,直接添加到.sh文件当中:
三、Pycharm配置虚拟环境
虚拟环境的创建和关联可以通过命令行实现,但是pycharm提供了方便的图形化操作的方式,所以你不会命令行也没有关系。
创建项目的时候,提示new environment, 就可以创建虚拟环境。
existing interpreter里是系统里已经创建了的环境,他包含系统环境和其他已创建的虚拟环境。
如果想单独建立,就选择new environment; 如果想使用原来已经创建好的,就点击选择就可以了。
比如我们可以通过 ... 符号选择上面建立好的venv_name这个虚拟环境和项目关联。
四、已有项目关联虚拟环境
在 PyCharm -> Preferences 进入 project setting 设置
查看所有的环境:
点击+号,就可以进入环境选择;
如果没有出现在列表中,点击 ... 进入路径选择窗口进入对应的目录下选择:
虚拟环境在 python 学习过程中不是必须的,但是如果你的项目很多,你一定会发现你的安装包文件夹已经乱成一锅粥了。
赶紧用虚拟环境去整理一下吧。