Ubuntu系统下Python的虚拟环境搭建方法

news2024/12/25 12:35:02

文章目录

  • 参考链接:
  • 一、Python虚拟环境的作用及创建方法简介
    • 1. 创建虚拟环境的必要性
    • 2. venv、virtualenv、pipenv三种创建虚拟环境方法比较
      • 2.1 搭建Python虚拟环境的方法
      • 2.2 venv、virtualenv方法
      • 2.3 pipenv方法
  • 二、 virtualenv搭建虚拟环境
    • 1. 环境准备
      • 1.1 安装virtualenv和virtualenvwrapper
      • 1.2 配置虚拟环境存放目录

参考链接:

Ubuntu系统下Python的虚拟环境搭建方法简介:venv、virtualenv、pipenv
Python创建虚拟环境的三种方式
Ubuntu安装python虚拟环境

一、Python虚拟环境的作用及创建方法简介

1. 创建虚拟环境的必要性

Python虚拟环境的作用:针对不同项目搭建独立的Python运行环境,防止与其他Python运行环境发生冲突。
Python虚拟环境的优点:有助于Python包管理和维护。另外,便于卸载不需要的Python虚拟环境,最直接的方法就是直接删除存放Python虚拟环境的文件即可,实际操作起来十分方便。

2. venv、virtualenv、pipenv三种创建虚拟环境方法比较

2.1 搭建Python虚拟环境的方法

创建Python虚拟环境的很多,比如Pycharm中引入解释的方式就包括:Virtualenv、Conda环境、系统解释器、SSH解释器、Docker等。本文以venv、virtualenv、pipenv为例子,介绍搭建Python虚拟环境的方法。

2.2 venv、virtualenv方法

Python 从3.3 版本开始,自带了一个虚拟环境 venv。它的很多操作都和 virtualenv 类似,但是两者运行机制不同。因为仅仅支持 python 3.3 和以后版本。所以,要在 python2 上使用虚拟环境,依然要利用 virtualenv 。

  • 注意:虽然venv、virtualenv方法有很多缺点,但是它们是理解其他高级虚拟环境搭建的基础。

2.3 pipenv方法

pipenv是官方推荐的包管理工具,集成了pip、virtualenv两者的功能。它能自动创建和管理虚拟环境,Pipfile和Pipfile.lock文件来锁定安装包版本以及依赖包信息,避免构建错误。pipenv的基本理念:Pipfile文件是TOML格式而不是requirements.txt这样的纯文本;一个项目对应一个 Pipfile,支持开发环境与正式环境区分;提供版本锁支持,存为 Pipfile.lock。

pipenv的优势:相比较与venv、virtualenv两种搭建虚拟环境的方法稍显简陋的requirements.txt文件,pipenv由于具有了Pipfile这个依赖管理文件,所以在复杂的Python项目包管理和安装中更具优势。

二、 virtualenv搭建虚拟环境

1. 环境准备

1.1 安装virtualenv和virtualenvwrapper

要用pip3的方式来安装,才能在/usr/local/bin下找到virtualenvwrapper.sh

sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

用apt-get的方式按照,找不到virtualenvwrapper.sh文件。

sudo apt-get install virtualenv
sudo apt-get install virtualenvwrapper

1.2 配置虚拟环境存放目录

先在$HOME下创建文件夹envs

cd ~
mkdir envs

然后修改.bashrc文件,在末尾添加如下代码:

if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=~/envs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    source /usr/local/bin/virtualenvwrapper.sh
fi

上述添加代码的解释

  • export WORKON_HOME=~/envs
    设置虚拟环境的安装位置,默认安装在家目录下的envs目录中,可以自己任意指定,workon是virtualenvwrapper中的一个命令,后面会用到。
  • export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    在不指定虚拟环境编译器的情况下,默认使用的python编译器。这里需要注意的是,后面的路径要根据你自己电脑上已有的python编译器进行填写,所以先使用whereis python查看系统中安装了哪些编译器,我们服务器中是这样:
    在这里插入图片描述
    buntu默认先使用/usr/local/bin/下面的编辑器,如果没有才会使用usr/bin/,因此如果你的系统中在/usr/local/bin/路径下有python编译器的话,配置文件应该相应地改成:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
  • source /usr/local/bin/virtualenvwrapper.sh
    激活virtualenvwrapper脚本。
    上述步骤完成之后,在命令行输入:
source ~/.bashrc

执行刚才修改的配置文件,使配置文件在不用注销登录的状态下生效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI数字人产品“世优BOTA”发布会落幕,世优科技纪智辉演讲回顾

4月20日,世优科技式发布了新一代AI数字人产品——“世优BOTA”。在会上,世优科技创始人纪智辉介绍了数字人技术、驱动形式、数字人应用、“世优BOTA”的前世今生及未来。 以下是纪智辉的演讲内容概要: 各位嘉宾、各位朋友:大家下…

Storm proxies动态SEO监测优化为什么要大量用到http代理ip?

SEO监测和优化通常需要大量使用HTTP代理IP来实现以下几个方面的需求: 模拟不同地区的搜索结果:搜索引擎通常会根据用户所在地区提供不同的搜索结果,因此需要使用HTTP代理IP模拟不同地区的搜索结果,以便监测和优化针对不同地区的SE…

Matlab 相机标定

详细的原理可以看这篇 计算机视觉-相机标定,写的很赞 Step1. 准备 首先准备打印好的黑白棋盘格图片,并且保证表面的平整,例如35*35的棋盘格,贴在亚克力板上。 Step2. 拍摄 用相机拍摄棋盘格分别在取景框左上角、右上角、左下…

openGauss数据库pg_xlog爆满问题解决

文章目录 问题现象问题定位解决办法总结 问题现象 最近有一个之前搭的环境登不上了,好久没用想拿来测试的时候发现启动不了。启动时报错: [Errno 28] No space left on device query也不行了,提示没有空间了。 查询磁盘使用情况 df -h …

车间设备能源管理系统作用有哪些?

由于能源消耗不断的增加,对于高耗能企业要实现节能转型,淘汰落后高耗能产业,提供能源的有效利用,实现节能减排,合理利用能源,从而促进企业的经营绩效。 车间设备能源管理系统优点 1.精细化管理 可以对车…

探索【Stable-Diffusion WEBUI】的附加功能:图片缩放抠图

文章目录 (零)前言(一)附加功能(图片处理)(1.1)处理对象(Source)(1.2)缩放(Scale)(1.2.1&#xff…

【论文精读】TNNLS 2022 - 基于深度学习的事件抽取研究综述

【论文精读】TNNLS 2022 - 基于深度学习的事件抽取研究综述 【论文原文】:A Survey on Deep Learning Event Extraction Approaches and Applications 【作者信息】:Li, Qian and Li, Jianxin and Sheng, Jiawei and Cui, Shiyao and Wu, Jia and Hei,…

畅谈自然语言处理——初识NLP技术

畅谈自然语言处理——初识NLP 文章目录 畅谈自然语言处理——初识NLP一、引言二、NLP技术的定义分类三、三个发展阶段1、基于规则的算法2、基于统计的NLP算法3、基于深度学习的NLP算法 结语 一、引言 最近,一个名为ChatGPT的模型将计算机领域震撼,它以对…

Linux系统之部署webmin开源管理工具

Linux系统之部署webmin开源管理工具 一、webmin简介1.webmin简介2.webmin特点 二、本地环境介绍1.本次实践目的2.本地环境规划 三、检查本地环境1.检查操作系统版本2.检查系统内核版本 四、配置webmin的yum仓库1.编辑webmin.repo仓库文件2.查看yum仓库状态 五、部署webmin1.添加…

在docker安装Python环境提供给其他docker使用

1. 在宿主机新建一个目录2. 在app目录下新建一个Dockerfile文件本文永久更新地址: 1. 在宿主机新建一个目录 在宿主机上新建一个目录如app/,在app目录里面导入项目需要依赖的包 在项目根目录下输入命令,导出python项目所有的依赖包 pip freeze > r…

(二十二)查找算法-斐波那契算法

1 基本介绍 (1)黄金分割点是指一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位数字的近似值是0.618.由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神奇…

Android Fragment懒加载机制分析与详解

一、介绍 Fragment是Android3.0以后引进,称为碎片。它与Activity非常相似,用一个Activity中描述一些行为或者一部分用户界面,使用多个Fragment可以在一个单独的Activity中建立多个UI面板,也可以在多个Activity中使用Fragment。 Fr…

Linux I/O复用函数的使用情况和select接口的介绍

I/O 复用使得程序能同时监听多个文件描述符,这对于提高程序的性能至关重要。通常, 网络程序在下列情况下需要使用 I/O 复用技术: 1.TCP服务器同时要处理监听套接字和连接套接字 2.服务器同时要处理TCP请求和UDP请求。 3.程序同时要处理多个套…

档案库房温湿度管理暂行规定

档案馆温湿度管理暂行规定 来源:本站 日期:2021-8-27 浏览量:1067 档案馆温湿度管理暂行规定 (1985年11月23日国家档案局 国档发〔1985〕42号通知印发) 档案馆是永久保管档案的基地,档案馆建筑是档案馆工作的基础…

用Flutter你得了解的七个问题

Flutter是Google推出的一款用于构建高性能、高保真度移动应用程序、Web和桌面应用程序的开源UI工具包。Flutter使用自己的渲染引擎绘制UI,为用户提供更快的性能和更好的体验。 Flutter使用Dart语言,具有强大的类型、效率和易学能力,基本上你…

前端实战(三):element-ui开关组件的二次封装

目录 二次封装 Switch 开关 原始效果 设计效果 实现步骤 在日常开发过程中,大多数项目主要以 vue 为主,并且现在很多公司仍在使用着 vue。但在使用element-ui组件时通常会遇到一些问题:如组件样式与设计不符合、组件不存在某个功能等等&a…

5年测试经验,自动化都不会?月薪11K都难拿....

我接触了太多测试同行,由于多数同行之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的同行。 我从事软件自动化测试已经近十年,接触过底层服务端、API 、Web、APP、H5 等等,对自动化算是比较了解…

Spring种存取Bean的5种注解

存取Bean的五种注解 存储Bean对象两种方式1.添加一行bean2.使用注解的方式(5大注解)Controller(控制器存储)Service(服务存储)Repository(仓库存储)Component(组件存储)Configuration(配置存储)方法注解 Bean 获取Bean对象(三种)1.属性注入2.setter注入3.构造方法注入三种注入的…

自动驾驶TPM技术杂谈 ———— CCRT验收标准(测试项目)

文章目录 试验项目行车辅助跟车能力测试方法前车静止识别与响应前车低速识别与响应前车减速识别与响应前车切入识别与响应前车切出识别与响应跟随前车启停 单车道组合控制能力测试方法车道居中保持交通拥堵辅助高速驾驶辅助 换道辅助能力测试方法无干扰车换道有干扰车换道 泊车…

《面试1v1》java泛型

我是 javapub,一名 Markdown 程序员从👨‍💻,八股文种子选手。 面试官:小伙子,说实话,泛型这个机制一开始我也是一头雾水,搞不太明白它到底要解决什么问题。你能不能不那么书呆子,给我普普通通地讲一讲泛型? 候选人…