Python代码又报错了?看下这个方法
创始人
2025-03-18 08:21:42
0

 [[277210]]

刚学习python的同学经常会遇到一个问题: 已经安装了特定的包或者第三库,但是pycharm总是提示没有找到。

Python代码又报错了?看下这个方法

比如我已经有ddt了,可运行脚本的时候却告诉我没有这个模块:

Python代码又报错了?看下这个方法

出现这种问题,你需要去检查一下你实际使用的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可以非常方便的创建虚拟环境。

直接命令行创建:

Python代码又报错了?看下这个方法

在当前工作目录中找到venv_name文件夹。

在venv_name文件夹中,您将找到一个Scripts 文件夹,在这里你可以激活你的虚拟环境。

Python代码又报错了?看下这个方法

1、激活虚拟环境

在当前目录下,使用cmd运行activate:

Python代码又报错了?看下这个方法

激活后会看看到路径前面多了一个括号:

Python代码又报错了?看下这个方法

2、退出虚拟环境:

Python代码又报错了?看下这个方法

退出环境以后,括号会消失,我们又回到了系统的python环境当中。

3、虚拟环境当中的python.exe

虚拟环境当中的python.exe和系统的python.exe没有什么区别,如果想要通过虚拟环境去运行对应的python文件,加上绝对路径就可以直接运行,不需要 activate激活。

这个在项目部署的时候非常有用,直接添加到.sh文件当中:

Python代码又报错了?看下这个方法

三、Pycharm配置虚拟环境

虚拟环境的创建和关联可以通过命令行实现,但是pycharm提供了方便的图形化操作的方式,所以你不会命令行也没有关系。

创建项目的时候,提示new environment, 就可以创建虚拟环境。

existing interpreter里是系统里已经创建了的环境,他包含系统环境和其他已创建的虚拟环境。

如果想单独建立,就选择new environment; 如果想使用原来已经创建好的,就点击选择就可以了。

比如我们可以通过 ... 符号选择上面建立好的venv_name这个虚拟环境和项目关联。

Python代码又报错了?看下这个方法

四、已有项目关联虚拟环境

在 PyCharm -> Preferences 进入 project setting 设置

查看所有的环境:

Python代码又报错了?看下这个方法

点击+号,就可以进入环境选择;

如果没有出现在列表中,点击 ... 进入路径选择窗口进入对应的目录下选择:

Python代码又报错了?看下这个方法

虚拟环境在 python 学习过程中不是必须的,但是如果你的项目很多,你一定会发现你的安装包文件夹已经乱成一锅粥了。

赶紧用虚拟环境去整理一下吧。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...