virtualenv虚拟环境的安装使用教程

news/2025/1/18 22:00:27/

让我们先思考这样一种情景:我们用python来开发一个项目,那么这个项目肯定会依赖很多的第三方库,这些第三方的库通过pip安装到全局区当中,而对于不同的项目使用到的库可能都有所不同,但是这些项目的库都安装到全局区当中,是不是非常不便于管理。

我们可不可以做到像java的project一样有自己的工程,让这个工程下的所有依赖库都装到自己工程的相应目录下呢?答案是可以,实现这个场景就需要用到我们今天所讲解的这个python虚拟环境工具virtualenv。其官网为:地址 ,感兴趣的朋友可以去了解一下。

目录

virtualenv安装与配置

virtualenv的基本使用

pip安装包

pycharm使用虚拟环境


virtualenv安装与配置

这里我拿window举例,cmd终端执行如下命令安装virtualenv工具:

pip install virtualenv

接下来需要安装虚拟环境管理包工具virtualenvwrapper-win,终端执行如下命令:

pip install virtualenvwrapper-win

出现如下界面说明我们安装成功:

安装完成之后,验证我们是否可以使用 virtualenv 工具,可以终端运行 virtualenv --help 查看一下

接下来我们需要配置一下virtualenv创建虚拟环境生成的根目录,修改其默认路径,如果不修改路径的话,当我们cmd终端创建virtualenv虚拟环境的时候默认是生成在C盘目录下的:

在我的电脑->右键->属性->高级系统设置->环境变量->系统变量 中添加一个参数,将这个参数的值设置为你需要的路径,之后创建的虚拟环境的文件都在这个家目录下,如下:(WORKON_HOME)

如果出现 ‘mkvirtualenv‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件,应该是配置环境变量出现了问题,需要在环境变量中加入python的安装目录下的的Scripts添加到环境变量中。

virtualenv的基本使用

接下来我们开始借助virtualenv虚拟环境创建工具进行一个简单的使用,如下:

创建虚拟环境:终端执行如下命令开始创建虚拟环境:

mkvirtualenv 虚拟环境名称

接下来我们终端执行了 mkvirtualenv test 出现了如下界面说明我们创建虚拟环境成功:

我们可以看到我们在环境配置步骤设置的环境存放路径是正确的:

当然我们创建虚拟环境时也可以指定python版本:

mkvirtualenv -p python解释器路径 虚拟环境名称
mkvirtualenv -p C:User/python.exe django_env# 也可以采用如下方式
mkvirtualenv --python==python解释器路径 虚拟环境名称

查看所有的虚拟环境:终端执行如下命令查看已创建的虚拟环境:

workon

切换虚拟环境目录: 终端执行如下命令切换到具体虚拟环境的目录:

workon 虚拟环境名称

退出虚拟环境终端执行如下命令退出虚拟环境:

deactivate

删除虚拟环境:终端执行如下命令删除虚拟环境(必须先退出虚拟环境内部才能删除当前虚拟环境)

rmvirtualenv 虚拟环境名称

进入到虚拟环境所在的目录:终端执行如下命令进入到相关目录:

cdvirtualenv 虚拟环境名称

pip安装包

虚拟环境安装的包与全局安装的包是相互独立分开的,接下来简单的介绍一下虚拟环境中的安包操作,如下:

查看全局或虚拟环境安装的包

pip list

如果想把全局安装的包下载到虚拟环境当中,可以采用如下操作的方式:

首先我们回到正常环境当中,收集当前环境安装的全局的包及其版本信息:

pip freeze > requirements.txt 

然后我们可以在我们c盘的目录下找到我们生成好的文件,里面有我们全局的包的信息及其对应的版本:

回到我们部署的虚拟环境当中执行如下安装命令,将txt所有的包信息安装到虚拟环境当中去:

pip install -r requirements.txt

pycharm使用虚拟环境

既然我们已经创建好了虚拟环境了,也知道怎么使用了,那么如何在编辑器中进行使用呢?如下我们开始讲解如何在pycharm开发者工具中使用我们的虚拟环境:

点击创建之后我们看看我们虚拟环境创建的py项目能不能运行,如下,没毛病:

接下来我们拿虚拟环境当中的安装包与原环境进行一个对比,看到虚拟环境的包更加透彻清晰是吧(啥也没有):

至此,我们对于 virtualenv 安装使用讲解完成,提一嘴:

pyenv-win 也提供了类似于 virtualenv 创建虚拟环境的功能。在 pyenv-win 中,这个功能被称为 Virtual Environments。

使用 pyenv-win 的 Virtual Environments 功能,你可以创建和管理独立的 Python 环境,这与 virtualenv 的功能非常相似。但是,与 virtualenv 不同的是,pyenv-win 的 Virtual Environments 是基于不同的 Python 版本创建的,而 virtualenv 则是基于同一 Python 版本的不同虚拟环境。

对于使用 pyenv-win 的开发人员来说,使用 Virtual Environments 来创建和管理 Python 环境可能更加方便,因为它们可以轻松地切换不同版本的 Python 解释器,并在其中创建多个独立的虚拟环境。但是,如果你想要与其他开发人员共享代码或使用一些第三方库,那么 virtualenv 可能是更好的选择。如果想学习 pyenv-win 可以参考我之前的文章:地址 。


http://www.ppmy.cn/news/1329601.html

相关文章

Linux C语言开发(十)vim基本操作

目录 一.什么是vim 二.vim的进入与退出 三.vim的基本模式 四.vim的命令行模式操作

【leetcode100-051到054】【图论】四题合集

【岛屿数量】 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设…

#Uniapp:uni.request(OBJECT)

uni.request(OBJECT) 发起网络请求。 示例 uni.request({url: https://www.example.com/request, //仅为示例,并非真实接口地址。data: {text: uni.request},header: {custom-header: hello //自定义请求头信息},success: (res) > {console.log(res.data);thi…

linux LPT和COM回路测试(基于python+Qt+C++)

软件UI: 回路治具&#xff08;COMLPT&#xff09;&#xff1a; lpt_test.cpp&#xff08;c 源代码&#xff09;&#xff1a; #include <iostream> #include <fstream> #include <sstream> #include <unistd.h> #include <fcntl.h> #include <…

Python基础第九篇(Python可视化的开发)

文章目录 一、json数据格式&#xff08;1&#xff09;.转换案例代码&#xff08;2&#xff09;.读出结果 二、pyecharts模块介绍三、pyecharts模块入门&#xff08;1&#xff09;.pyecharts模块安装&#xff08;2&#xff09;.pyecharts模块操作&#xff08;1&#xff09;.代码…

使用torch实现RNN

在实验室的项目遇到了困难&#xff0c;弄不明白LSTM的原理。到网上搜索&#xff0c;发现LSTM是RNN的变种&#xff0c;那就从RNN开始学吧。 带隐藏状态的RNN可以用下面两个公式来表示&#xff1a; 可以看出&#xff0c;一个RNN的参数有W_xh&#xff0c;W_hh&#xff0c;b_h&am…

从0开始学习C++ 第十二课:指针强化

第十二课&#xff1a;指针强化 学习目标&#xff1a; 理解常量指针与指针常量的区别。学习如何使用函数指针。掌握指针与数组的高级使用技巧。 学习内容&#xff1a; 常量指针与指针常量 概念&#xff1a; 常量指针是一个指向常量的指针&#xff0c;这意味着不能通过这个指针…

【立创EDA-PCB设计基础】5.布线设计规则设置

前言&#xff1a;本文详解布线前的设计规则设置。经过本专栏中的【立创EDA-PCB设计基础】前几节已经完成了布局&#xff0c;接下来开始进行布线&#xff0c;在布线之前&#xff0c;要设置设计规则。 目录 1.间距设置 1.1 安全间距设置 1.2 其它间距设置 2.物理设置 2.1 导…