Python虚拟环境管理 之 virtualenv 和 pipenv

虚拟环境介绍

Python虚拟环境主要的目的就是为了给不同的工程创建互相独立的运行环境。在虚拟环境下,每一个工程都有自己的依赖包,而与其他的工程无关。不同的虚拟环境中通一个包可以有不同的版本。并且,虚拟环境的数量都没有限制,我们可以轻松的用 virtualenv 或者 pipenv等工具来创建多个虚拟环境。

virtualenv的安装和应用(windows)

  1. pip 安装 virtualenv
  2. pip安装虚拟换将管理包 vitualenvwrapper-win
  3. 创建一个存放虚拟环境的目录(建议命名为 .env 或者 .virtualenv)
  4. 配置环境变量(变量名:WORKON_HOME, 值:上面创建的目录路径)

常用的虚拟环境的命令


workon

worken [name]

deactivate

mkvirtualenv [name]

rmvirualenv [name]

包安装:
虚拟环境中,安装对应的依赖包,进入虚拟环境直接pip install 进行安装

注:当我们电脑有多个解释器是,可以使用 mkvirtualenv -p python2 [name]指定解释器版本

但是mkvirtualenv有一个缺点,比如我们安装django环境之后想要卸载,他只会卸载django,而下载时自带的一些关于django相关的依赖,不会被删除。下面我们来介绍一个集成 pip 和 mkvirtualenv 两者的功能,且完成了两者的一些缺陷的环境管理工具 —- pipenv。

pipenv的安装和使用

过去用 mkvirtualenv 管理 requirements.txt 文件可能会有问题,pipenv使用 Pipfile 和 Pipfile.lock, 前者用来记录项目依赖包的列列表,后者用来记录了固定版本的详细依赖包列表,查看依赖关系是十分方便。

支持Python2和Python3,mac、win、liunx在各个平台的命令都是一样的。
各个地方使用了哈希校验,无论安装还是卸载都十分安全。

安装命令

pip install pipenv

创建环境


pipenv install

Python虚拟环境管理 之 virtualenv 和 pipenv
环境安装成功之后,我们的工程下会新增两个文件,这两个文件用作于记录我们的依赖包
Python虚拟环境管理 之 virtualenv 和 pipenv

下面我们来介绍一下Pipfile文件中的一些参数含义,下方是Pipfile文件中的内容

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]

[dev-packages]

[requires]
python_version = "2.7"

  • url: 首先我们看到的就是url,这个默认是国外源的地址,这里我们将他改成国内源,这样安装会快一点。这里我给大家提供了几个国内镜像源的地址,大家可以自行更改,我选择的是清华大学的。
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
  • [dev-packages]: 这个是我们开发环境需要安装的依赖包,如果有些安装包我们想要在开发环境安装,可以在命令中安装时指向开发环境
pipenv install django --dev

那么通常我们项目写完之后,会将代码上传到Linux服务器上面,我们可以再工程路径下,输入 pipenv install安装所有的项目依赖包。(注意:开发环境的包是不会恢复进去,如果要恢复开发环境的依赖包,可以使用 pipenv install --dev

之前我们说过virtualenv的缺点是卸载包的时候,相关依赖包的不会被写在,pipenv可以处理这个问题,我们可以使用 pipenv uninstall [packname]

常用的 pipenv 管理模块和包命令


pipenv install --dev request

pipenv uninstall [package name]

pipenv graph

pipenv lock -r --dev > requestments.txt

pipenv install -r requirements.txt

pipenv --rm

pipenv --where

pipenv -- venv

pipenv -py

pipenv lock

pipenv --shell

exit

Original: https://blog.csdn.net/weixin_43865008/article/details/119898756
Author: 七月的小尾巴
Title: Python虚拟环境管理 之 virtualenv 和 pipenv

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/735332/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python线图点图–matplotlib.pyplot.plot

    参考视频:Python线图点图–15分钟详解matplotlib.pyplot.plot #011_哔哩哔哩_bilibili 一、绘图基础 #导入画图包,以及数据包 …

    Python 2023年9月1日
    078
  • DDOS攻击

    把我掘金的文章同步一份过来 最近网上爆火的一款游戏 Goose Goose Duck (鹅鸭杀) 游戏官方在近日发布了一则公告,宣布由于服务器屡次遭受黑客攻击,该游戏服务器将暂时关…

    Python 2023年11月6日
    038
  • 功能强大的python包(八):Scrapy (网络爬虫)

    1.Scrapy简介 Scrapy是用python开发的一个应用程序框架,用于对网站进行爬取和提取结构化数据,这些结构化的数据可用于数据挖掘、信息处理或历史存档等。 Scrapy一…

    Python 2023年10月5日
    054
  • 爬虫Xpath使用

    Xpath使用案例 准备工作 pip install lxml 代码如下: 点击查看代码 from lxml import etree #定&#x4E…

    Python 2023年6月10日
    054
  • Matplotlib指令之折线图&散点图

    import matplotlib.pyplot as plt 导入pyplot模块。 plt.subplot() 函数 在一张图片中绘制一个或多个图表。 plt.show()函数…

    Python 2023年9月1日
    054
  • 【Python中pandas库查看df开头和结尾数据】【df.head()和df.tail()方法】

    ● 选择题以下代码可以查看dataframe中开头3行和结尾3行数据分别是:A df.head(2) df.tail(2)B df.tail(2) df.head(2)C df.h…

    Python 2023年8月7日
    046
  • 解决python画图中文不显示问题

    python画图,如果用英文显示基本没有问题,但是中文可能会有乱码或者不显示的情况。 经过个人的测试,下图中”横轴”,”纵轴”字样的…

    Python 2023年9月5日
    087
  • dataframe 更改某列某值_第17篇:Pandas-遍历DataFrame对象

    DataFrame的遍历方式主要有三种 DataFrame.iterrows()按行顺序优先,接着依次按列迭代DataFrame.iteritems()按列顺序优先,接着依次按行迭…

    Python 2023年8月17日
    047
  • centos8配置python3.8

    centos8系统安装python3.8 简介: Python 是世界上被广泛使用的编程语言之一。语法简单易学,Python 是初学者和有工作经验者的一个很流行的选择。Python…

    Python 2023年5月24日
    090
  • 基于LSTM的多变量温度预测(python从入门到入坑)

    基于LSTM的多变量温度预测(python) ——我保证他能够运行,而且结果能够让你满意(如果你和我一样都是一个新手的话) 这里写目录标题 基于LSTM的多变量温度预测(pytho…

    Python 2023年8月2日
    058
  • 【基础知识】pandas入门

    两种:一维数组型的Series对象+二维表格型的DataFrame对象 andas的索引对象index是不可变的,因此用户不能对其进行修改。但index中可以包含重复的标签。选择重…

    Python 2023年8月17日
    076
  • Shell ❀ 基础知识概述

    一、基本概念 shell又称为命令解释器,它能识别用户输入的各种命令,并传递给操作系统。它的作用类似于Windows操作系统中的命令行,但是shell的功能远比命令行强大的多,在U…

    Python 2023年10月8日
    041
  • 爬虫日记(66):Scrapy的设置参数-抓取风格

    Scrapy允许我们采用不同的风格来抓取网页。针对不同的需求,需要采用不同的抓取方式。比如我们去抓取小说网站的时候,就需要采用深度优先的方式,因为一部小说是一章接着一章更新下去的,…

    Python 2023年10月5日
    051
  • python pandas模块读取excel_利用python的pandas库读取excel数据文件数据

    数据文件格式有xlsx、xls、csv,利用pandas库可将数据文件读取到python中,亦可将python处理好的数据导出为excel文件。 读取xlsx、xls文件 pand…

    Python 2023年8月7日
    064
  • Python学习_0422_飞机大战基础

    创建游戏主窗口 pygame 专门提供了一个模块 pygame.display 用于创建、管理游戏窗口 方法1: pygame.display.set_mode() 初始化游戏显示…

    Python 2023年9月25日
    053
  • Pandas数据的排序与统计

    .sort_index()方法在指定轴上根据索引进行排序,默认升序 格式: .sort_index(axis=0, ascending=True)其中ascending为递增排序 …

    Python 2023年8月9日
    046
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球