1. 什么是Python环境
要搞清楚什么是虚拟环境,首先要清楚Python的环境指的是什么。当我们在执行python test.py时,思考如下问题:
- python哪里来?这个主要归功于配置的系统环境变量,当我们在命令行中运行程序时,系统会根据配置的路径列表依次查寻是否有可执行文件python(在windows中,省略了后缀),当查寻到该文件时,执行该文件; 如果在所有路径列表中都查找不到,就会报报错:
- test.py代码中import的模块在哪里找?import的模块包含两类,一类称为标准库,随着python的安装而安装;另一类称为第三方库,使用工具或者自己手动安装的包。模块的搜索路径可通过查看,主要由可执行文件python所在的位置所决定。
Python环境主要包括以下内容:
- 解释器
- Lib目录
- 标准库
- site-pakages目录,默认安装第三方库所在的目录
- Scripts目录,包含一些执行文件
- 包安装管理工具pip.exe
- 打包工具pyinstaller.exe(需要自己安装)
- …
- 其他
- 主要包括python解释器运行时需要的相关依赖文件,文档说明等
Python环境主要由运行python解释器的位置所决定
2. 什么是虚拟环境
理解了什么是python环境,思考下为什么有虚拟环境的说法。思考以下问题:
- 有两个项目A和B,如果A和B都要用到某一模块,但版本不相同怎么办?
- 在使用pip安装包时,会发现在安装的时候会安装其它的依赖包,但当我们用pip移除一个包时,却只移除了指定的包
为了解决上面的问题,python使用了虚拟环境这个概念,你可以认为是python环境的多个副本,只是在不同的副本中安装了不同的包。既然叫虚拟环境,总得有点不一样:虚拟环境中一般不包含标准库;不包含python解释器运行时所需的依赖文件;可执行文件全部放于Scripts目录等。
3. 常用工具
知道了什么是虚拟环境,就应该清楚如何去管理虚拟环境,这就离不开虚拟环境管理工具,下面列出了一些常用的工具,并在稍后的内容中对部分工具的使用作简单的介绍。
- Virtualenv
virtualenv 是非常流行的 python 虚拟环境配置工具。它不仅同时支持 python2 和 python3,而且可以为每个虚拟环境指定 python 解释器,并选择不继承基础版本的包。
- venv
考虑到虚拟环境的重要性,Python 从3.3 版本开始,自带了一个虚拟环境模块 venv,关于该模块的详细介绍,可参考 PEP-405 。它的很多操作都和 virtualenv 类似。如果你使用的是python3.3之前版本或者是python2,则不能使用该功能,依赖需要利用virtualenv进行虚拟环境管理。
- pipenv
pipenv 是Kenneth Reitz(requests的作者)大神的作品。它结合了 Pipfile,pip,和virtualenv,能够有效管理Python多个环境,各种包。并且windows视为一等公民。
- Pipfile是社区拟定的依赖管理文件,用于替代过于简陋的 requirements.txt 文件。Pipfile 文件是 TOML 格式而不是 requirements.txt 这样的纯文本。
- virtualenv能够很好的完成虚拟环境的搭建和python版本的管理,但是跨平台的使用不太一致,且有时候处理包之间的依赖总存在问题
- pip能够很好的完成包的管理,但是仍然推荐pipenv,相当于virtualenv和pip的合体,且更加强大。
- conda
支持Python、R、Java、JavaScript、C等多种开发语言的包、依赖和环境管理工具,能运行在Windows、MacOS、Linux多个平台,可以在本地轻松创建、保存、切换环境。当安装anaconda时,会自动安装conda工具。
- Python Launcher for Windows
Python 从3.3版本开始,在 Windows 系统中自带了一个 启动工具。如果你是使用 Python.org 官网下载的安装包安装的 Python 3.3(或更新版本)环境,那么可以直接在命令提示符中使用这个工具(在windows中,会安装在目录)。
py 可以打开默认的 python 提示符; 和 打开对应的 Python 版本,将列出系统中安装了哪些版本的python
pipenv创建虚拟环境后,会在工程目录生成如下两个文件:
- Pipfile:用于保存项目的python版本、依赖包等相关信息。该文件可以单独移放到其他项目内,用于项目虚拟环境的建立和依赖包的安装
- Pipfile.lock:用于对Pipfile的锁定
1. 安装pipenv
-i选项指定库的安装源,安装源要满足PEP 503的描述,国内常用的源:
- 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
- 中国科学技术大学 : https://pypi.mirrors.ustc.edu.cn/simple
- 豆瓣:http://pypi.douban.com/simple/
- 阿里:https://mirrors.aliyun.com/pypi/simple/
2. 命令概览
学习使用工具/命令的万能大法 – 查看帮助信息。
3. pipenv基本使用
1)创建虚拟环境
创建工程目录,并进入工程目录
创建虚拟环境
- –python 3.8 将指定该虚拟环境的python使用3.8的最新版本,有以下两种情况
- 如果系统已经安装了python3.8,则使用系统已经安装的python3.8版本
- 如果系统中没有python3.8版本
- 如果已经安装pyenv或者asdf,会提示是否需要使用pyenv或者asdf安装对应版本的python
- 如果没有安装pyenv和asdf,则创建环境失败
- 此外,–python后面跟的参数可以不是版本号,而是安装的python解释器的路径
- / 使用 Python 3或者2创建虚拟环境
- 指定安装源
- / 是否使用python基础环境中的site-packages路径
查看虚拟环境相关信息
2)激活虚拟环境
3)虚拟环境包的管理
包的安装
常用参数示例:
查看虚拟环境中安装的包信息
包的删除
注意,如果没有激活虚拟环境,即没有运行pipenv shell,若想使用pip list查看虚拟环境中所安装的包时,可以使用pipenv run pip list
4)退出虚拟环境
5)删除虚拟环境
6)其他
如果已经删除了虚拟环境,可以使用重新创建虚拟环境以完成下面的示例。
需要共享项目环境时,共享Pipfile文件即可
想要在虚拟环境中执行脚本,比如执行main.py文件,可以使用命令
可以在Pipfile文件中自定义命令,比如在Pipfile末尾添加如下内容,则添加了两个自定义命令和,分别打印和列出虚拟环境中所装的包:
其他
4. 虚拟环境的本质
Python 从3.3 版本开始,自带了一个虚拟环境模块,关于该模块的详细介绍,可参考和。
1. 命令概览
查看venv帮助信息:
2. 创建虚拟环境
这里使用得最多的两个选项为:
- :是否包含Python系统的site-packages,添加这个选项后,会在的末尾添加上系统的site-packages相关目录。不添加这个选项时,将不会包含系统的site-packages*
- :虚拟环境中是否包含pip.exe
3. 虚拟环境的激活
在虚拟环境的Scripts目录中有两个脚本文本和,分别用于激活虚拟环境和退出虚拟环境。
注意:
- 在pipenv创建的虚拟环境中同样有这两个脚本文件
- activate文件有多个版本,当在windows系统时,如果用CMD时,使用activate.bat;如果用PowerShell时使用activate.psl
当我们激活虚拟环境后,系统的PATH路径的最前面添加了虚拟环境的Scripts目录,该目录下包含了pip.exe和python.exe。可以得到如下结论:
- 如果不激活虚拟环境,直接运行虚拟环境的Scripts目录下的python.exe,则此时的交互环境也将是在此虚拟环境下
- 如果不激活虚拟环境,直接运行虚拟环境的Scripts目录下的pip.exe进行包的安装,则安装的包同样安装在虚拟环境中
注意,这里使用的PowerShell,所以查看path环境变量时使用的$env:path,如果是CMD,查看环境变量可以使用echo %PATH%
4. 虚拟环境包的管理
使用pip工具进行虚拟环境中包的管理,有两种方式
- 第一种方式,使用虚拟环境中的activate激活虚拟环境
- 第二种方式,不激活虚拟环境,但是运行的Pip指定为虚拟环境中Scripts目录下的pip.exe
pip命令的基本使用将在文末介绍。
conda支持Python、R、Java、JavaScript、C等多种开发语言的包、依赖和环境管理工具,能运行在Windows、MacOS、Linux多个平台,可以在本地轻松创建、保存、切换环境。当安装anaconda时,会自动安装conda工具。
conda与pipenv,venv等虚拟环境管理工具的最大的不同在于:conda虚拟环境是独立于操作系统解释器环境的,即无论操作系统解释器什么版本(哪怕2.7),我也可以指定虚拟环境python版本为3.6,而venv是依赖主环境的。
1. 创建虚拟环境
创建好虚拟环境后,你会发现虚拟环境py3.6的内容与一个实体python环境是一样的。所以,conda的环境管理更像是实体环境的一个拷贝,而不像是一个虚拟环境
2. 环境的激活和退出
3. 包的管理
4. 环境的删除
5. 查看所有环境
查看帮助:
1. 安装
1)安装requirements.txt文件列出的包
2)安装指定包
3)安装whl文件
常用参数主要包括:
2. 更新
pip install --upgrade 包名称
3. 删除
删除指定的包
pip uninstall 包名
删除requriements.txt文件中列出的包
pip uninstall -r requriements.txt
4. 查看
列出安装的所有包:
pip list
查看某一个包的具体信息
pip show 包名
5. 导出安装包列表
导出pip所在环境中所安装的所有包,将其输出到requirements.txt文件中
在创建pycharm工程时,记得指定python解释器为虚拟环境中Scripts目录下的python.exe即可
转载:https://javaforall.cn/175522.html原文链接:https://javaforall.cn
到此这篇删除python虚拟环境(pipenv删除虚拟环境)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/pythonbc/27546.html