Python虚拟环境创建和使用方法(使用自带的venv模块)

 更新时间:2024年12月31日 10:34:13   作者:peanutwang  
这篇文章主要如何在Python中使用虚拟环境,包括创建、激活、使用、生成requirements.txt文件、卸载包和删除虚拟环境,虚拟环境有助于隔离项目依赖,避免版本冲突,并便于部署,需要的朋友可以参考下

1. 安装虚拟环境工具

从 Python 3.3 开始,Python 自带了 venv 模块,无需额外安装。你可以直接使用它来创建虚拟环境。

2. 创建虚拟环境

2.1 使用 venv 创建虚拟环境

使用以下命令创建虚拟环境。这里我使用了 venv 来创建虚拟环境,并且命名为 venv,你也可以选择任何其他名称。

python -m venv myvenv

  • python -m venv myvenv:这条命令会在当前目录下创建一个名为 myvenv 的虚拟环境和文件夹。
  • 如果你有多个 Python 版本,你可能需要指定 Python 版本,如 python3.8 或 python3,以确保使用正确的版本。

2.2 查看虚拟环境文件

虚拟环境创建后,会在当前目录下生成一个 myvenv 文件夹。里面包含了虚拟环境所需的文件和目录结构:

  • bin:包含虚拟环境的可执行文件(如 python)。
  • lib:包含虚拟环境的库文件。
  • include:包含用于编译 C 扩展模块的头文件。
  • Scripts(Windows):包含 activate.bat 等脚本。

3. 激活虚拟环境(Windows下)

  • .\myvenv\Scripts\activate

    执行后,你会看到命令行前面出现虚拟环境的名称 (myvenv),表示虚拟环境已经被激活。

  • 激活后,你会看到命令行前面加上 (myvenv),这表示当前已经进入虚拟环境。

  • 或者进入myvenv目录,运行Scripts\activate

4. 使用虚拟环境

当虚拟环境激活后,你可以在虚拟环境中安装和管理 Python 包。所有通过 pip 安装的包只会影响当前虚拟环境,而不会影响全局的 Python 安装。

4.1 安装依赖包

你可以在虚拟环境中使用 pip 来安装你需要的依赖包:

pip install <package_name> 

4.2 查看安装的包

你可以使用 pip list 查看虚拟环境中安装的所有包:

pip list 

4.3 卸载包

如果你不再需要某个包,可以使用 pip uninstall 卸载它:

pip uninstall <package_name>

5. 生成 requirements.txt

requirements.txt 文件是记录项目依赖包的常见方式,通常用于分享和复现环境。

5.1 创建 requirements.txt

你可以使用 pip freeze 命令生成当前虚拟环境的依赖包列表,并将其保存到 requirements.txt 文件中:

pip freeze > requirements.txt

该命令会将虚拟环境中所有已安装的包及其版本记录到 requirements.txt 文件中。

5.2 安装 requirements.txt 中的依赖

当其他人获取到你的项目代码时,他们可以使用 requirements.txt 安装项目所需的所有依赖:

pip install -r requirements.txt 

6. 退出虚拟环境

当你完成工作后,可以通过以下命令退出虚拟环境:

deactivate

退出后,你的命令行会回到系统的默认 Python 环境。

7. 删除虚拟环境

如果你不再需要某个虚拟环境,可以删除它。只需要删除包含虚拟环境的文件夹即可(通常是 venv 文件夹)。

8. 使用虚拟环境的好处

  • 隔离依赖:每个项目都有自己的依赖包,避免版本冲突。
  • 干净的工作环境:不同项目之间的库版本不会互相影响。
  • 便于部署:通过 requirements.txt 文件,你可以轻松地为其他开发者或生产环境部署项目。

9.Python IDLE Shell 使用虚拟环境

Python IDLE Shell 可以使用虚拟环境,但设置起来稍微有点不同,因为 IDLE 默认启动的是系统 Python 环境。要在 IDLE 中使用虚拟环境,你需要手动指定虚拟环境中的 Python 解释器。

myenv\Scripts\python.exe -m idlelib.idle

这样,IDLE 将会启动,并使用虚拟环境中的 Python 解释器。你可以在 IDLE 中执行代码,并确保它使用的是虚拟环境中安装的依赖,而不是全局 Python 环境中的库。

注意:在IDLE没有关闭之前,不能安装其他包。因为显示IDLE的时候,命令还在执行。

检查 IDLE 是否使用虚拟环境

在 IDLE 中,你可以通过运行以下命令来检查当前 Python 环境是否是虚拟环境:

import sys 
print(sys.executable)

总结 

到此这篇关于Python虚拟环境创建和使用方法的文章就介绍到这了,更多相关Python虚拟环境创建和使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python基础入门之魔法方法与异常处理

    Python基础入门之魔法方法与异常处理

    在python中,所有以“__"双下划线包起来的方法,都统称为魔法方法,下面这篇文章主要给大家介绍了关于Python基础入门之魔法方法与异常处理的相关资料,需要的朋友可以参考下
    2021-11-11
  • python实现查询IP地址所在地

    python实现查询IP地址所在地

    本文给大家分享的是使用Python实现根据ip138的API查询IP的地理位置的代码,非常的实用,推荐给大家,有需要的小伙伴可以参考下。
    2015-03-03
  • 关于python中第三方库交叉编译的问题

    关于python中第三方库交叉编译的问题

    这篇文章主要介绍了python及第三方库交叉编译,通过交叉编译工具,我们就可以在CPU能力很强、存储控件足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序,需要的朋友可以参考下
    2022-09-09
  • Python 运行.py文件和交互式运行代码的区别详解

    Python 运行.py文件和交互式运行代码的区别详解

    这篇文章主要介绍了Python 运行.py文件和交互式运行代码的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 用python写测试数据文件过程解析

    用python写测试数据文件过程解析

    这篇文章主要介绍了用python写测试数据文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python Selenium操作Cookie的技巧与测试场景详解

    Python Selenium操作Cookie的技巧与测试场景详解

    面对复杂的用户会话管理和安全验证,如何通过 Selenium 操作 Cookie,成为测试工程师面临的挑战之一,本文我们就来了解下Selenium操作Cookie的技巧与测试场景吧
    2025-07-07
  • Python实现优先级队列结构的方法详解

    Python实现优先级队列结构的方法详解

    优先级队列(priority queue)是0个或多个元素的集合,每个元素都有一个优先权,接下来就来看一下简洁的Python实现优先级队列结构的方法详解:
    2016-06-06
  • python-json校验-jsonpath解析

    python-json校验-jsonpath解析

    这篇文章主要介绍了python-json校验-jsonpath,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python 树表查找(二叉排序树、平衡二叉树)

    Python 树表查找(二叉排序树、平衡二叉树)

    本文并不会深入讲解树数据结构的基本的概念,仅是站在使用的角度说清楚动态查询。阅读此文之前,请预备一些树的基础知识。
    2023-01-01
  • Python正则表达式在数据处理中的应用实战案例

    Python正则表达式在数据处理中的应用实战案例

    正则表达式是一种用于匹配字符串的模式,它由普通字符和特殊字符组成,通过定义这些模式,我们可以快速查找、替换或提取文本中的特定内容,这篇文章主要介绍了Python正则表达式在数据处理中应用实战的相关资料,需要的朋友可以参考下
    2025-10-10

最新评论