虚拟环境介绍
Python虚拟环境主要的目的就是为了给不同的工程创建互相独立的运行环境。在虚拟环境下,每一个工程都有自己的依赖包,而与其他的工程无关。不同的虚拟环境中通一个包可以有不同的版本。并且,虚拟环境的数量都没有限制,我们可以轻松的用 virtualenv
或者 pipenv
等工具来创建多个虚拟环境。
virtualenv的安装和应用(windows)
- pip 安装 virtualenv
- pip安装虚拟换将管理包 vitualenvwrapper-win
- 创建一个存放虚拟环境的目录(建议命名为 .env 或者 .virtualenv)
- 配置环境变量(变量名: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
环境安装成功之后,我们的工程下会新增两个文件,这两个文件用作于记录我们的依赖包
下面我们来介绍一下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/
转载文章受原作者版权保护。转载请注明原作者出处!