iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 虚拟环境venv详解
  • 490
分享到

Python 虚拟环境venv详解

2024-04-02 19:04:59 490人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录什么是虚拟环境一句话总结为什么要虚拟环境说下背景了解下第三方库的安装目录带来的问题通过 venv 操作虚拟环境创建虚拟环境激活虚拟环境关闭虚拟环境PyCharm 项目关联新创建的

什么是虚拟环境

  • 这是 Python 3.3 的新特性:https://www.python.org/dev/peps/pep-0405/
  • 假设自己电脑主机的 Python 环境称为系统环境,而默认情况下,虚拟环境和系统环境是完全隔离的
  • 每个系统环境下可以有多个虚拟环境
  • 每个虚拟环境都有自己的 Python 二进制文件及单独的包安装目录,可以在虚拟环境中安装属于自己的 Python 包,而系统环境、其他虚拟环境并不会拥有这些 Python 包

一句话总结

Python 虚拟环境主要是为不同 Python 项目创建一个隔离的环境,每个项目都可以拥有独立的依赖包环境,而项目间的依赖包互不影响

为什么要虚拟环境

说下背景

  • 假设一个电脑包含多个 Python 项目
  • 每个项目所需的 Python 版本不一致,比如:Python 2.X、Python 3.X
  • 每个项目所需的依赖包不一致,比如 A 项目只要 selenium 相关依赖包,B 项目只要 Appium 相关依赖包
  • 不同项目用同一个依赖包,但依赖包版本可能不一致

假设现在不用虚拟环境会有什么问题?

了解下第三方库的安装目录

默认情况下,Python 第三方库都是装在系统固定目录的,比如 Mac 电脑


>>> import site
>>> site.getsitepackages()
['/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages']

电脑上所有项目都会从这个目录去存储、查找第三方库(站点库)

带来的问题

  • 不同项目使用同一个依赖包,但使用不同版本的依赖包时,意味着当开发 A 项目的时候,要装一次依赖包 A 版本,转开发 B 项目时,先要卸载依赖包 A 版本,再重装 B 版本...
  • 一个环境下要安装所有项目需要的依赖包,所以当某个项目需要生成 requirement.txt 的时候,会带上很多用不上的依赖包,要删还得手工一个个删....

通过 venv 操作虚拟环境

Python 3.5 后推荐使用 venv 来创建虚拟环境

创建虚拟环境


python3 -m venv fastapi_test

fastapi_test 是虚拟环境名字,可以自定义

激活虚拟环境


source <环境名称>/bin/activate 

可以看到虚拟环境中的 Package 只有最基础的 pip、setuptools

关闭虚拟环境


deactivate

Pycharm 项目关联新创建的虚拟环境

先在项目目录下创建好虚拟环境

Python Interpreter 选中虚拟环境

安装项目所需要的库

Pycharm 创建虚拟环境

  • 选中 Python Interpreter
  • 查看更多 Interpreters
  • 添加一个新的 Interpreters
  • 选择 New environment,默认选项即可,确定

查看虚拟环境的目录

刚刚创建的两个虚拟环境的目录其实是一样的

bin

与虚拟环境交互的文件


>> ll
total 72
-rw-r--r--  1 polo  staff   8.6K Sep 14 09:26 Activate.ps1
-rw-r--r--  1 polo  staff   1.9K Sep 14 09:26 activate
-rw-r--r--  1 polo  staff   882B Sep 14 09:26 activate.csh
-rw-r--r--  1 polo  staff   2.0K Sep 14 09:26 activate.fish
-rwxr-xr-x  1 polo  staff   269B Sep 14 08:40 pip
-rwxr-xr-x  1 polo  staff   269B Sep 14 08:40 pip3
-rwxr-xr-x  1 polo  staff   269B Sep 14 08:40 pip3.9
lrwxr-xr-x  1 polo  staff     9B Sep 14 08:40 python -> python3.9
lrwxr-xr-x  1 polo  staff     9B Sep 14 08:40 python3 -> python3.9
lrwxr-xr-x  1 polo  staff    39B Sep 14 08:40 python3.9 -> /usr/local/opt/python@3.9/bin/python3.9

include

编译 Python 包的 C 头文件

lib

包含Python 版本的副本(python3.9),以及安装每个依赖包的 site-packages 文件夹


>> pwd
/Users/polo/Downloads/FastAPI_project/fastapi_test/lib/python3.9/site-packages

>> ll
total 224
drwxr-xr-x   3 polo  staff    96B Sep 14 09:27 __pycache__
drwxr-xr-x   5 polo  staff   160B Sep 14 08:40 _distutils_hack
-rw-r--r--   1 polo  staff   152B Sep 14 08:40 distutils-precedence.pth
drwxr-xr-x  28 polo  staff   896B Sep 14 09:27 fastapi
drwxr-xr-x   8 polo  staff   256B Sep 14 09:27 fastapi-0.68.1.dist-info
drwxr-xr-x   8 polo  staff   256B Sep 14 08:40 pip
drwxr-xr-x  10 polo  staff   320B Sep 14 08:40 pip-21.1.1.dist-info
drwxr-xr-x   7 polo  staff   224B Sep 14 08:40 pkg_resources
drwxr-xr-x  53 polo  staff   1.7K Sep 14 09:27 pydantic
drwxr-xr-x   9 polo  staff   288B Sep 14 09:27 pydantic-1.8.2.dist-info
drwxr-xr-x  41 polo  staff   1.3K Sep 14 08:40 setuptools
drwxr-xr-x  11 polo  staff   352B Sep 14 08:40 setuptools-56.0.0.dist-info
drwxr-xr-x  27 polo  staff   864B Sep 14 09:27 starlette
drwxr-xr-x   8 polo  staff   256B Sep 14 09:27 starlette-0.14.2.dist-info
drwxr-xr-x   8 polo  staff   256B Sep 14 09:27 typing_extensions-3.10.0.2.dist-info
-rw-r--r--   1 polo  staff   107K Sep 14 09:27 typing_extensions.py

从虚拟环境生成 requirement.txt

先看看有哪些包


> pip list
Package           Version
----------------- --------
fastapi           0.68.1
pip               21.1.1
pydantic          1.8.2
setuptools        56.0.0
starlette         0.14.2
typing-extensions 3.10.0.2

pip freeze

在激活虚拟环境下敲


pip freeze > requirement.txt  

这样生成的 requirement.txt 文件就只包含虚拟环境中已安装的依赖包了!

包管理利器 popety

TODO

到此这篇关于Python 虚拟环境venv详解的文章就介绍到这了,更多相关Python 虚拟环境venv内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python 虚拟环境venv详解

本文链接: https://www.lsjlt.com/news/135657.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python 虚拟环境venv详解
    目录什么是虚拟环境一句话总结为什么要虚拟环境说下背景了解下第三方库的安装目录带来的问题通过 venv 操作虚拟环境创建虚拟环境激活虚拟环境关闭虚拟环境Pycharm 项目关联新创建的...
    99+
    2024-04-02
  • python venv 虚拟环境
    第一步建立 python 新项目 如 py_demo 进入 py_demo 下 创建虚拟环境文件夹 venv 进入 venv 执行 python -m venv . 即可创建python 虚拟环境 在venv S...
    99+
    2023-09-24
    python 开发语言 Powered by 金山文档
  • Python之虚拟环境venv实战详解
    目录 简介虚拟环境实战创建虚拟环境激活虚拟环境虚拟环境测试停止虚拟环境 小结 简介     Python 应用程序通常会使用不属于标准库的包和模块。应用程序有时需要特定版本的...
    99+
    2023-09-05
    1024程序员节 python venv
  • 【Python | Pycharm激活虚拟环境venv】
    文章目录 前言虚拟环境介绍总结 前言 环境准备: Windows10 PyCharm2020.3 x64 虚拟环境介绍 pycharm自带虚拟环境,我们只需要进行创建即可。打开p...
    99+
    2023-10-28
    python pycharm
  • python 虚拟环境详解
    目录pipenv 工作流1 .安装2.创建虚拟环境3.管理依赖4.pycharm设置虚拟环境总结pipenv 工作流 Pipenv是基于pip的Python包管理工具,它和pip的用...
    99+
    2024-04-02
  • Python中安装和使用venv虚拟环境
    要在Python中安装和使用venv虚拟环境,您可以按照以下步骤进行操作: 首先,确保您已安装了Python。您可以在命令行中输入以下命令来验证Python的安装情况: python --versio...
    99+
    2023-08-31
    python 开发语言
  • Python3的venv虚拟环境操作(L
     Infi-chu: http://www.cnblogs.com/Infi-chu/ Python3.3以上版本支持了原生的虚拟环境命令,即venv。 长话短说,具体的理论在这里就不多说了,主要的操作见下文。 1.先建立项目目录,并进入...
    99+
    2023-01-30
    操作 环境 venv
  • Python直接复制已有的venv虚拟环境以创建新的虚拟环境
    Python venv创建的虚拟环境复制到其他路径,如何断开与原始虚拟环境的连接,成为一个全新的虚拟环境,且两个虚拟环境之间的更新互不影响? 1.软件环境⚙️2.问题描述🔍3....
    99+
    2023-09-15
    venv 快速创建虚拟环境 pip install
  • Python3安装与配置venv虚拟环境
    Python3安装与配置venv虚拟环境创建安装目录下载适宜的版本([传送门](https://www.python.org/ftp/python/))解压config安装配置Python3软连接验证python3环境升级 pip...
    99+
    2023-01-31
    环境 venv
  • python 环境之 venv
    需求        我们用Anisible 来管理Openstack 此时需要安装shade模块当有互联网时我们可以用以下方式安装shade模块yum install python-pip pip install shade   可是目前公...
    99+
    2023-01-31
    环境 python venv
  • python复制已存在的虚拟环境venv,虚拟环境迁移,解决“Fatal error in launcher: Unable to create process using”
    如何复制别人的虚拟环境 引言虚拟环境的结构修改步骤1. 修改`pyvenv.cfg`文件里的`home`和`version`2. `Scripts\activate`以及`Scripts\ac...
    99+
    2023-09-24
    python 开发语言
  • python虚拟环境
    好久没写博客了,小伙伴们最近在干嘛呢? 最近在搞AI开放平台,就类似腾讯优图,百度人工智能平台~~. 说得是很高大上啦,核心技术的算法并不是我写的。我负责搞API接口,写前端。 前端的Vue和Bootstrap,两门技术是目前前端比较流利...
    99+
    2023-01-30
    环境 python
  • 解决Python虚拟环境virtual
     解决Python虚拟环境下不能使用sudo提升权限问题 问题描述 在虚拟环境下,执行某些命令需要有sudo提升权限,会导致该条命令退出虚拟环境: 如启动django 服务,需要监听80端口: $: python manage.py ru...
    99+
    2023-01-31
    环境 Python virtual
  • Python学习之虚拟环境原理详解
    目录认识虚拟环境Python中的虚拟环境工具VirtualenvTreminal 终端演示该章节我们学习虚拟环境的相关知识,虚拟环境对于刚刚使用Python的初学者来说使用的概率可能...
    99+
    2024-04-02
  • python虚拟环境:envirtua
    https://www.jianshu.com/p/08c... virtualenv 虚拟环境是在Python解释器上的一个私有复制,你可以在一个隔绝的环境下安装packages,不会影响到你系统中全局的Python解释器。 虚拟环境非...
    99+
    2023-01-31
    环境 python envirtua
  • Ubuntu python虚拟环境
    建立虚拟环境 首先更新ubuntu源 $ sudo apt-get update 安装python3-venv模块 $ sudo apt-get install pyton3-venv 建立虚拟环境 $ python3 -m venv [...
    99+
    2023-01-31
    环境 Ubuntu python
  • python虚拟环境virtualenv
    我们在Windows下开发python应用时,可能需要安装各种第三方模块,但如果又不想污染公共的python环境,怎么办呢?最好是在各自的 python工程中创建一个virtualenv虚拟环境。博主最近需要在虚拟环境中安装MySQL-py...
    99+
    2023-01-31
    环境 python virtualenv
  • python虚拟环境 | virtual
              一.创建virtualenv虚拟环境 mkvirtualenv -p 版本号 虚拟名 mkvirtualenv -p python3 env_1   python3:版本号   env_1: 虚拟环境名称 创...
    99+
    2023-01-30
    环境 python virtual
  • python的虚拟环境
    什么是虚拟环境 python特有的一种软件环境,创建多个python环境,各个环境之间完全隔离,互不影响。它可以用来解决Python项目开发和运行过程中的依赖项和版本问题,而不必和其他项目的Python环境以及全局的Python环境发生冲...
    99+
    2023-01-31
    环境 python
  • Ubuntu如何使用python3中的venv创建虚拟环境
    本篇内容介绍了“Ubuntu如何使用python3中的venv创建虚拟环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.虚拟环境跟随项目...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作