一、什么是虚拟环境
虚拟环境就是在本地创建一个独立的Python环境,这个环境拥有自己的独立的Python解释器和包管理器,不与系统环境和其他虚拟环境产生干扰。可以很好地避免Python版本和第三方库的冲突,实现项目
二、本教程的环境
已安装:
Pycharm 2019.3
anaconda3
python 3.8
但本教程也适用其他版本。一样的操作。
三、新建一个新项目
选择新虚拟环境使用什么工具创建
1.1使用virtualenv创建
virtualenv 创建的虚拟环境相对较轻量,独立于具体包管理工具(例如pip)
项目路径可以自己修改,最后一个目录项目名称,虚拟环境文件夹会项目下在venvs文件夹中
基础解释器:可以选择本地anaconda里的或者本地python里的python.exe。
下面那两个选项:第一个功能是:是否继承 Python 全局环境中的第三方库(site - packages)
当这个选项被选中时,新项目可以访问和使用在全局 Python 环境中已经安装的第三方库。例如,如果在系统的全局 Python 环境中安装了
numpy
库,并且在新建项目时勾选了 “inherit global site - packages”,那么在这个新项目中就可以直接导入
numpy
并使用。
不勾选这个选项,新项目将拥有一个相对独立的环境。这意味着它不会自动获取全局环境中的第三方库。这样做的好处是项目的环境更加隔离和纯净。假设全局环境中有一个旧版本的
pandas
库,而你想在新项目中使用一个不同版本(可能是更新的版本)的
pandas
。如果不继承全局的 site - packages,你可以在项目的虚拟环境(如果使用虚拟环境的话)中安装指定版本的
pandas
,而不会受到全局环境中旧版本的干扰。
第二个选项是:其他项目能不能使用这个项目的虚拟环境。勾中就是可以。一般不勾选。
我这里基础环境选的python下的,
1.2查看包
进入setting设置中,可以看到只有两个基础的包,很纯净。后面项目需要什么包下载都会在这个文件夹中。
PyCharm支持可以直接安装包,你需要什么版本的包直接搜索,然后安装就行。
点击设置,可以看到我们的项目解释器已经有了这个虚拟环境。也可以换别的环境,里面有需要的包,就不用下载了,也能导包成功。但这不纯净了。
1.3查看python版本
和我安装的python版本一致
2.1使用conda创建
和命令行创建的方式一样,可以选择python版本
使用conda创建的虚拟环境的目录,不在项目底下而是在anaconda安装目录下的envs目录下。
2.2查看python版本
和选的版本一致。
3.1使用pipenv创建
一般不选择这个创建
需要找到pip.exe
直接选用现有的环境
这个没什么好说的,直接用就行了。
四、创建方式有什么区别
venv:
是 Python 标准库自带的模块,适用于创建轻量级的虚拟环境。
主要侧重于 Python 环境的隔离。
依赖于 Python 的包管理工具
pip
来安装软件包。
没有像 Conda 那样集中式的环境配置文件来记录整个环境的所有软件包信息。它主要依赖于
pip
的
requirements.txt
文件来记录 Python 软件包的依赖关系,例如,在一个 venv 环境中安装了多个软件包后,可以使用
pip freeze > requirements.txt
命令将软件包及其版本信息输出到
requirements.txt
文件中,在其他环境中可以通过
pip install -r requirements.txt
来安装相同的软件包。
conda:
Anaconda 是一个开源的 Python 发行版,除了包含 Python 解释器外,还预装了许多用于数据科学、机器学习等领域的常用软件包。
可以管理 Python 包外,还可以管理其他语言编写的软件包,如 R、C++ 等。它使用
conda install
命令来安装软件包。而且,Conda 在安装软件包时会自动处理软件包的依赖关系,不仅包括 Python 软件包的依赖,还包括其他软件包的依赖。例如,当安装
pandas
时,Conda 会自动安装
pandas
所依赖的
numpy
等其他软件包。
有一个完整的环境配置文件(通常是
environment.yml
),这个文件可以记录环境中所有软件包(包括不同语言的软件包)的名称、版本和安装渠道等详细信息。这使得环境的复用和共享更加方便。例如,可以将一个包含了 Python、R 和其他软件包的 Conda 环境配置文件分享给其他用户,其他用户可以使用
conda env create -f environment.yml
命令来创建完全相同的环境。
版权归原作者 是七月啊 所有, 如有侵权,请联系我们删除。