前言
在网上找了好一些资料,发现介绍 Pycharm 虚拟环境的不多,查了一些资料,并做个总结。
本文主要是介绍 Pycharm 中的虚拟环境,而非 Python 中的命令式虚拟环境。
虚拟环境的通俗介绍
引用https://www.runoob.com/manual/pythontutorial3/docs/html/venv.html#id2
Python 应用程序经常会使用一些不属于标准库的包
和模块
。应用程序有时候需要某个特定版本
的库,因为它需要一个特定的 bug 已得到修复的库
或者它是使用了一个过时版本的库
的接口编写的。
这就意味着可能无法安装一个 Python 来满足每个应用程序的要求。如果应用程序 A 需要一个特定模块的 1.0 版本
,但是应用程序 B 需要该模块的 2.0 版本
,这两个应用程序的要求是冲突的,安装版本 1.0 或者版本 2.0 将会导致其中一个应用程序不能运行。
这个问题的解决方案就是创建一个 虚拟环境 (通常简称为 “virtualenv”),包含一个特定版本的 Python,以及一些附加的包的独立的目录树。
不同的应用程序可以使用不同的虚拟环境。为了解决前面例子中的冲突,应用程序 A 可以有自己的虚拟环境,其中安装了特定模块的 1.0 版本。而应用程序 B 拥有另外一个安装了特定模块 2.0 版本的虚拟环境。如果应用程序 B 需求一个库升级到 3.0 的话,这也不会影响到应用程序 A 的环境。
虚拟环境和非虚拟环境该怎么选?
如果你直接在 Pycharm 创建一个项目而不创建虚拟环境,那么你安装的第三方包都会安装到系统 Python 解释器的 site-packages
文件夹下,如我的 C:\Python\Python39\Lib\site-packages
。
创建越多的项目,安装的库越多。当你又新建一个项目,必定会把 site-packages
下的所有库都导进来,可能有一些库你这个项目根本就不需要,但是又不能删除(因为别的项目有在用),这时候就需要虚拟环境了。
如果你只创建一两个项目学习 Python 入门,那么用不用虚拟环境都不影响。
通过 Virtualenv 方式创建虚拟环境
在 Pycharm 创建一个新项目。
- File 》New Project 》Pure Pyhon,如下图所示:
现 Pycharm 2021.1 版创建 Virtualenv环境已默认没有 venv 文件夹,而是和项目名一致,不知是否个例
通过 Virtualenv 创建的虚拟目录是放在本项目的下的 venv
文件夹中。
- 如果项目地址是
E:\PycharmProjects\pythonProject
- 则虚拟环境的地址就是
E:\PycharmProjects\pythonProject\venv
。
- 虚拟环境中的库
E:\PycharmProjects\pythonProject\venv\Lib\site-packages
图中的 基本解释器
为 系统 Python 解释器
,即自行在官网下载并配置好环境变量了的,一般系统 Python 解释器的第三方库都在 site-packages
目录下,比如我的 C:\Python\Python39\Lib\site-packages
.
在 Virtualenv 环境中进行包的管理
Ctrl+Alt+S
或者 File 》Setting 》Python Interpreter
Virtualenv 一般配合 requirements.txt 文件对项目的依赖库进行管理。
requirements.txt 的格式如下:
appdirs==1.4.4
beautifulsoup4==4.9.3
certifi==2020.12.5
chardet==4.0.0
distlib==0.3.1
fake-useragent==0.1.11
filelock==3.0.12
idna==2.10
lxml==4.6.3
pipenv==2020.11.15
requests==2.25.1
six==1.15.0
soupsieve==2.2.1
urllib3==1.26.4
useragent==0.1.1
virtualenv==20.4.4
virtualenv-clone==0.5.4
这样的结构让人一目了然,且方便项目移植,当你克隆一个含有 requirements.txt 文件的项目,可以通过相关命令一键下载所有的依赖库。
requirements.txt 文件生成
-
打开 Pycharm ,Tool 》Sync Python Requirements
根据步骤自动生成一个 requirements.txt 文件。
-
打开 Pycharm 左下角的 Terminal(终端),输入以下代码:
pip freeze > requirements.txt
根据 requirements.txt 文件安装依赖库
- 若是导入一个新项目,且含有 requirements.txt 文件,则可根据 requirements.txt 安装所有的依赖库
pip install -r requirement.txt
更多详情 https://www.jetbrains.com/help/pycharm/2021.1/managing-dependencies.html
通过 Pipenv 方式创建虚拟环境
首先,当前版本的 Pycharm(2021.1.1) 没有内置 Pipenv,需要安装。
-
打开 cmd ,运行以下命令以确保系统中已安装 pip:
pip --version
-
pipenv 通过运行以下命令进行安装:
pip install --user pipenv
-
安装成功后在 cmd 输入以下命令:
py -m site --user-site
,会返回 pipenv.exe 所在文件夹。
如:C:\Users\admin\AppData\Roaming\Python\Python39\site-packages
-
为了方便起见,可以将 pipenv.exe
所在文件夹 Scripts 添加到 PATH 环境变量中
setx PATH "%PATH%;C:\Users\admin\AppData\Roaming\Python\Python39\Scripts"
打开 Pycharm ,创建一个新项目。
- File 》New Project 》Pure Pyhon,如下图所示:
通过 Pipenv 创建的项目,虚拟环境并不在本项目的目录下,而是在 C:\Users\用户名\.virtualenvs
文件夹下。
Pipenv[官网]是 requests 库 的作者写的,因为 requirements.txt 的管理并不能尽善尽美,可能存在一些问题。
在 Pipenv 虚拟环境中不用 requirements.txt,Pipfile 是 Pipenv 虚拟环境用于管理项目依赖项的专用文件。 该文件对于使用 Pipenv 是必不可少的。 当为新项目或现有项目创建 Pipenv 环境时,会自动生成 Pipfile。
Pipfile 的用法如下:
-
新建项目的 Pipfile 文件:
-
通过修改此 packages
部分来添加新的程序包依赖项。
[packages]
requests = “*”
|
-
每当您修改 Pipfile 文件时,PyCharm 都会建议执行以下操作之一:
- pipenv lock— 将新要求记录到 Pipfile.lock 文件中。
- pipenv update— 将新要求记录到 Pipfile.lock 文件中,并将缺少的依赖项安装在 Python 解释器上。
更多详情https://www.jetbrains.com/help/pycharm/2021.1/using-pipfile.html
通过 Conda 方式创建虚拟环境
当前版本的 Pycharm(2021.1.1) 也没有内置 Conda ,需要安装。
- 打开 Anaconda 官网选择适合你电脑的版本即可。
- 也可在清华大学开源软件镜像站下载,这个速度较快。
打开 Pycharm ,创建一个新项目。
- File 》 New Project 》Pure Pyhon,如下图所示:
利用 Anaconda 进行虚拟环境包的管理
- 打开 Anaconda Navigator 图形界面 》Environment 》选需要安装包的环境 》 点绿色按钮 》Open Terminal,在 Terminal(终端)中用
pip
命令安装包即可。
Ctrl+Alt+S
或者 File 》Setting 》Python Interpreter
引用:
- Pycharm - configuring-python-interpreter [https://www.jetbrains.com/help/pycharm/2021.1/configuring-python-interpreter.html]
- Pipenv 官网 [https://pipenv.pypa.io/en/latest/]
优惠劵
pycharm环境管理--conda、pip、virtualenv的区别
11-26
4342
conda、pip、virtualenv的区别
1、 conda
conda是包及其依赖项和环境的管理工具。
适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
适用平台:Windows, macOS, Linux
用途:
快速安装、运行和升级包及其依赖项。
在计算机中便捷地创建、保存、加载和切换环境。
如果你需要的包要求不同版本的Python,你无需切换到不同的环境,因为conda同样是一个环境管理器。仅需要几条命令,你可
Python的版本有很多,很多第三方库也有很多不同的版本,不同的版本也可能是互不兼容的,在本机运行不同的项目,可能需要不同的环境。为了不和本机真实的环境相互冲突,我们可以同时创造多个虚拟环境,在不同的虚拟环境中运行不同的项目
1、在开始处点运行,输入cmd打开命令行,
在命令行中输入pip命令 pip list (查看已安装的库) pip install virtualenv(安装创建虚拟环境的库)
2、vir– 第三方库安装成功后,在桌面创建一个虚拟环境
3、打开桌面的虚拟环境(双击进入),激活虚拟环境后,利用pip install 库名 或
Python环境管理主流工具pyenv、virtualenv、pipenv和conda各自不同侧重点和使用场景
02-11
523
Python环境管理主流工具pyenv、virtualenv、pipenv和conda各自的侧重点和适用范围。
PyCharm三种解释器的区别(virtual Enviroment, system interpreter, conda Enviroment)
热门推荐
12-28
1万+
刚开始用Pycharm的时候,选择project interpreter,add local的时候有virtual Enviroment,system interpreter,conda Enviroment,选项不知道什么意思,百度学习了后过了一段时间忘了,一个项目用的是以前的一个项目的virtual Enviroment一直导包出错,还卸了重新装了一边==,写下区别以后学习
syst...
python虚拟环境搭建(virtualenv+conda)+ 编辑器虚拟环境使用(vscode+pycharm)
01-19
846
VS Code python虚拟环境搭建
安装virtualenv库
pip install virtualenv
创建虚拟环境
mkvirtualenv -p python.exe文件所在目录 虚拟环境文件名
激活虚拟环境
C:\Users\XXX\Desktop\spider\1>test\Scripts\activate
退出虚拟环境
(test) C:\Users\Chengyikang\Desktop\spider\1>test\Scripts\deactivat
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
刚在网上查了一圈,好家伙,全都是那一篇文章,而且用的pycharm是老版本的,下边介绍的是pycharm2019专业版的,直接切入正题:
(1)打开 pycharm -> File文件 -> New Project 创建新项目
(2)选择Django项目
1、选择创建Django项目的本地路径(这里补充下,下边图应该没有后边的 \ , 必须要选择一个文件夹)。
2、选择Pipenv来创建虚拟环境。
3、Base interpreter 为本机系统的python解释器,也就是安装python时的路径。
4、Pipenv executable 表示pipenv命令的环境变量路径,就是是pipen
PyCharm使用Virtualenv和Conda
11-05
1万+
文章目录PyCharm使用Virtualenv和CondaVirtualenv Environment参考文档配置Virtual Environment新建Project在Virtualenv Environment中工作对应命令Conda Environment参考文档安装Miniconda或Anaconda使用国内Conda镜像配置Conda Environment:新建Project在Con...
Python虚拟环境(pipenv、venv、conda一网打尽)[通俗易懂]
03-01
6766
要搞清楚什么是虚拟环境,首先要清楚Python的环境指的是什么。python哪里来?这个主要归功于配置的系统环境变量PATH,当我们在命令行中运行程序时,系统会根据PATH配置的路径列表依次查寻是否有可执行文件python(在windows中,省略了后缀.exe),当查寻到该文件时,执行该文件;'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。test.py代码中import的模块在哪里找?import的模块包含两类,一类称为标准库,随着python的安装而安装;
Pycharm中Virtualenv 环境,Conda 环境,系统解释器,Pipenv 环境,Poetry Environment
04-27
2850
如果您需要方便地管理Python包和库的版本和依赖项,并且需要自动创建和管理虚拟环境,可以使用Pipenv或Poetry环境。而使用conda创建的虚拟环境不仅可以包含Python包和库,还可以包含其他语言的包和库,例如R和Julia。Poetry是一种Python包和依赖项管理工具,可以管理Python项目的依赖项,并且可以自动创建虚拟环境。总之,使用PyCharm中的不同环境管理工具可以帮助您更好地管理Python项目的依赖项和版本,以及方便地创建和切换虚拟环境,提高开发效率和代码质量。
Python skill - Pycharm解释器环境配置Virtualenv, Pipenv和Conda区别
05-18
2088
文章目录结论:
结论:
Pipenv 比 Virtualenv更胜一筹, 但Conda可以更换Python版本, 最为强大.
本人观点: 初学者使用并无太大区别. 任选一个即可.
Virtualenv: 官方网址: https://virtualenv.pypa.io/en/stable/
优点: 可以安装特定库的指定版本, 比如numpy, math等, 并将这些库存放在指定位置
缺点: Python版本固定
Pipenv: 官方网址: https://pypi.org/project/
Pycharm 安装(含四种虚拟环境的介绍 【Conda 是重点】)
02-16
3764
Pycharm 安装(含四种虚拟环境的介绍!Conda 是重点!)
PyCharm中如何直接使用Anaconda已安装的库
主要介绍了PyCharm中如何直接使用Anaconda已安装的库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
pipenv 是 Pipfile 主要倡导者、requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv。这篇文章主要介绍了Pycharm 使用 Pipenv 新建的虚拟环境的问题,需要的朋友可以参考下
Anaconda python虚拟环境管理 (windows 10环境)
概念:
Anaconda是专注于数据分析的Python发行版本,机器学习入门首选平台,包含了许多科学计算包。
conda是一个package,可以用来管理python的依赖和环境。与python中的virtualenv相对比,都可以为python程序创建一套“隔离”的运行环境,不同的是virtualenv只能创建系统原有的python版本,而不能创建创建任意版本的环境。同时conda也提供了类似于pip的packages管理功能。总的来说,conda管理各个环境的python 版本与packages。感觉还是蛮好用的XD,不过有些包好像conda上下不到,pip还是必须的。
Anaconda
对Python 两大环境管理神器 pyenv 和 virtualenv详解
今天小编就为大家分享一篇对Python 两大环境管理神器 pyenv 和 virtualenv详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
主要介绍了PyCharm+Pipenv虚拟环境作开发和依赖管理的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
03-11
638
如果要同时开发多个应用程序,这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.7。所有第三方的包都会被pip安装到Python3的site-packages目录下。这种情况下,每个应用各自需要拥有一套独立的Python运行环境。第二步,创建虚拟环境,命名为venv。列出当前的虚拟环境安装了哪些包。列出当前的虚拟环境安装了哪些包。
2015年全国大学生电子设计竞赛F题数字频率计设计论文.pdf
中国电子设计竞赛,大学生,获奖论文,资料分享,历届
pycharm中virtualenv环境和conda环境的区别
Virtualenv是Python的虚拟环境管理工具,而conda是Anaconda的环境管理工具。它们的区别在以下几个方面:
1. 包管理方式不同:Virtualenv使用pip管理Python包,而conda使用conda包管理器。
2. 环境隔离方式不同:Virtualenv使用Python自带的虚拟环境隔离机制,而conda在隔离环境时会包含各个环境所需要的系统级依赖。
3. 适用范围不同:Virtualenv主要使用于Python项目的虚拟环境隔离,而conda则可用于多种语言的环境管理。
4. 安装方式不同:Virtualenv需要先安装Python,然后通过pip安装virtualenv,而Anaconda则只需要安装Anaconda即可使用conda。
总的来说,Virtualenv更适合Python项目开发者使用,而conda则更适合数据科学家和数据工程师使用。