How to manage Python environment based on virtualenv in Ubuntu 22.04
How to manage Python environment based on virtualenv in Ubuntu
- 安装
- 使用
- 创建环境
- 激活环境
- 安装软件包
- 退出环境
- 移除环境
安装
pip3 install virtualenv
使用
创建环境
lwk@qwfys:~$ mkdir ~/project/harbin
lwk@qwfys:~$ cd ~/project/harbin
lwk@qwfys:~/project/harbin$ virtualenv .venv
created virtual environment CPython3.10.12.final.0-64 in 171mscreator CPython3Posix(dest=/home/lwk/project/harbin/.venv, clear=False, no_vcs_ignore=False, global=False)seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/lwk/.local/share/virtualenv)added seed packages: pip==24.0, setuptools==69.1.0, wheel==0.42.0activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
lwk@qwfys:~/project/harbin$ ll
total 12
drwxrwxr-x 3 lwk lwk 4096 Mar 15 16:31 ./
drwxrwxr-x 15 lwk lwk 4096 Mar 15 15:54 ../
drwxrwxr-x 4 lwk lwk 4096 Mar 15 16:31 .venv/
lwk@qwfys:~/project/harbin$ ll .venv/
total 24
drwxrwxr-x 4 lwk lwk 4096 Mar 15 16:31 ./
drwxrwxr-x 3 lwk lwk 4096 Mar 15 16:31 ../
drwxrwxr-x 2 lwk lwk 4096 Mar 15 16:31 bin/
-rw-rw-r-- 1 lwk lwk 40 Mar 15 16:31 .gitignore
drwxrwxr-x 3 lwk lwk 4096 Mar 15 16:31 lib/
-rw-rw-r-- 1 lwk lwk 211 Mar 15 16:31 pyvenv.cfg
lwk@qwfys:~/project/harbin$ ll .venv/bin/
total 64
drwxrwxr-x 2 lwk lwk 4096 Mar 15 16:31 ./
drwxrwxr-x 4 lwk lwk 4096 Mar 15 16:31 ../
-rw-rw-r-- 1 lwk lwk 2249 Mar 15 16:31 activate
-rw-rw-r-- 1 lwk lwk 1516 Mar 15 16:31 activate.csh
-rw-rw-r-- 1 lwk lwk 3079 Mar 15 16:31 activate.fish
-rw-rw-r-- 1 lwk lwk 2764 Mar 15 16:31 activate.nu
-rw-rw-r-- 1 lwk lwk 1650 Mar 15 16:31 activate.ps1
-rw-rw-r-- 1 lwk lwk 1337 Mar 15 16:31 activate_this.py
-rwxrwxr-x 1 lwk lwk 261 Mar 15 16:31 pip*
-rwxrwxr-x 1 lwk lwk 261 Mar 15 16:31 pip3*
-rwxrwxr-x 1 lwk lwk 261 Mar 15 16:31 pip-3.10*
-rwxrwxr-x 1 lwk lwk 261 Mar 15 16:31 pip3.10*
lrwxrwxrwx 1 lwk lwk 16 Mar 15 16:31 python -> /usr/bin/python3*
lrwxrwxrwx 1 lwk lwk 6 Mar 15 16:31 python3 -> python*
lrwxrwxrwx 1 lwk lwk 6 Mar 15 16:31 python3.10 -> python*
-rwxrwxr-x 1 lwk lwk 248 Mar 15 16:31 wheel*
-rwxrwxr-x 1 lwk lwk 248 Mar 15 16:31 wheel3*
-rwxrwxr-x 1 lwk lwk 248 Mar 15 16:31 wheel-3.10*
-rwxrwxr-x 1 lwk lwk 248 Mar 15 16:31 wheel3.10*
lwk@qwfys:~/project/harbin$ ll .venv/lib/
total 12
drwxrwxr-x 3 lwk lwk 4096 Mar 15 16:31 ./
drwxrwxr-x 4 lwk lwk 4096 Mar 15 16:31 ../
drwxrwxr-x 3 lwk lwk 4096 Mar 15 16:31 python3.10/
lwk@qwfys:~/project/harbin$
激活环境
lwk@qwfys:~/project/harbin$ source .venv/bin/activate
(.venv) lwk@qwfys:~/project/harbin$
安装软件包
pip install package-name
退出环境
(.venv) lwk@qwfys:~/project/harbin$ deactivate
lwk@qwfys:~/project/harbin$ deactivate
移除环境
lwk@qwfys:~/project/harbin$ rm -rf .venv
参考文献
- 王战山的学习笔记 / 1-Python - Virtualenv
- Guide to Python / Virtual Environments
- medium / Virtualenv and local environment in Python, and pip
- 如何在 Python 中创建一个虚拟环境,以及为什么需要它
- 阿里云/开发者社区/Python 虚拟环境 看这一篇就够了
相关文章:
How to manage Python environment based on virtualenv in Ubuntu 22.04
How to manage Python environment based on virtualenv in Ubuntu 安装使用创建环境激活环境安装软件包退出环境移除环境 安装 pip3 install virtualenv使用 创建环境 lwkqwfys:~$ mkdir ~/project/harbin lwkqwfys:~$ cd ~/project/harbin lwkqwfys:~/project/harbin$ vir…...

一款基于 SpringCloud 开发的AI聊天机器人系统,已对接GPT-4.0,非常强大
简介 一个基于SpringCloud的Chatgpt机器人,已对接GPT-3.5、GPT-4.0、百度文心一言、stable diffusion AI绘图、Midjourney绘图。用户可以在界面上与聊天机器人进行对话,聊天机器人会根据用户的输入自动生成回复。同时也支持画图,用户输入文本…...

C语言自定义库
编写 xx.c 和xx.h文件\将源代码编译为目标文件 gcc -c add.c sub.c 执行完毕后会生产add.o和sub.o文件静态库创建使用ar命令; ar -r libmymath.a add.o sub.o将库和main.c文件一起编译 gcc -o main main.c -lmymath -L./ 注意 上述书写格式不要错乱 -L 是指定文件路…...
目标检测常见数据集格式(YOLO、VOC、COCO)
目录 1.YOLO格式数据 1.1数据格式 1.2YOLO格式数据示例 1.3YOLO格式可视化 2.COCO数据格式 2.1数据格式 2.2COCO格式数据示例 2.3COCO格式可视化 3.VOC数据格式 3.1数据格式 3.2VOC格式数据示例 3.3COCO格式可视化 🍓🍓1.YOLO格式数据 &…...

搭建 es 集群
一、VMware准备机器 首先准备三台机器 这里我直接使用 VMware 构建三个虚拟机 都是基于 CentOS7 然后创建新用户 部署 es 需要单独创建一个用户,我这里在构建虚拟机的时候直接创建好了 然后将安装包上传 可以使用 rz 命令上传,也可以使用工具上传 工…...

Android弹出通知
发现把Android通知渠道的重要性设置为最高时,当发送通知时,通知能直接弹出来显示,以前一直搞不明白为什么别的app的通知可以弹出来,我的不行,搞了半天原来是这个属性在作怪,示例如下: class Ma…...
如何用 UDP 实现可靠传输?并以LabVIEW为例进行说明
UDP(用户数据报协议)本身是一个无连接的、不可靠的传输协议,它不提供数据包的到达确认、排序保证或重传机制。因此,如果要在UDP上实现可靠传输,就需要在应用层引入额外的机制。以下是一些常见的方法: 确认和…...
【任职资格】某大型商业金融银行任职资格体系搭建项目纪实
【客户背景】某大型商业金融银行位于南方某省,成立于上个世纪九十年代,是一家具有独立法人资格的股份制商业银行,经过多年发展,下辖20多家分行,近200多个营业网点,并于21世纪初成功上市,规模不断…...

如何利用IP地址分析风险和保障网络安全
随着网络攻击的不断增加和演变,保障网络安全已经成为了企业和组织不可忽视的重要任务。在这样的背景下,利用IP地址分析风险和建立IP风险画像标签成为了一种有效的手段。本文将深入探讨IP风险画像标签的作用以及如何利用它来保障网络安全。 IP风险画像查…...

轧钢自动化中的智能仪器:监控、控制和优化新视角
摘要:轧钢自动化是现在及未来的发展趋势,而自动化的轧钢发展,更是离不开形形色色的智能仪器,本文来看看那些应用于轧钢生产中的测量仪。 关键词:智能仪器,在线测量仪,测径仪,测宽仪,测厚仪,测长仪,工业数据分析采集软件…...
第十四届蓝桥杯省赛C++B组题解
考点 暴力枚举,搜索,数学,二分,前缀和,简单DP,优先队列,链表,LCA,树上差分 A 日期统计 暴力枚举: #include<bits/stdc.h> using namespace std; int …...

语音控制模块_雷龙发展
一 硬件原理 1,串口 uart串口控制模式,即异步传送收发器,通过其完成语音控制。 发送uart将来自cpu等控制设备的并行数据转换为串行形式,并将其串行发送到接收uart,接收uart然后将串行数据转换为接收数据接收设备的并行…...

idea 开发serlvet班级通讯录管理系统idea开发mysql数据库web结构计算机java编程layUI框架开发
一、源码特点 idea开发 java servlet 班级通讯录管理系统是一套完善的web设计系统mysql数据库 系统采用serlvetdaobean mvc 模式开发,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 servlet 班…...
Python高级语法
Python高级语 1 列表推导式1.1 什么是列表推导式1.2 列表推导式的使用 2 字典推导式2.1 什么是字典推导式2.2 字典推导式的使用 3 元组推导式4 集合推导式5 三元表达式5.1 什么是三元表达式5.2 三元表达式的使用 1 列表推导式 1.1 什么是列表推导式 列表推导式的英文…...

HTML5语义化元素
在HTML5之前,网站的分布层级有哪些呢? nav,header,main,footer 这样做有一个弊端 我们往往过多的使用div,通过ID或class来区分元素 对于浏览器来说这些元素不够语义化 对于我来说搜索引擎来说,不…...
Android 性能优化——APP启动优化
一、APP启动流程 首先在《Android系统和APP启动流程》中我们介绍了 APP 的启动流程,但都是 FW 层的流程,这里我们主要分析一下在 APP 中的启动流程。要了解 APP 层的启动流程,首先要了解 APP 启动的分类。 1、启动分类 冷启动 应用从头开始…...

计算机网络:TCP篇
计网tcp部分面试总结 tcp报文格式: 序列号:通过SYN传给接收端,当SYN为1,表示请求建立连接,且设置序列号初值,后面没法送一次数据,就累加数据大小,保证包有序。 确认应答号&#x…...
【NLP11-迁移学习】
1、了解迁移学习中的有关概念 1.1、预训练模型(pretrained model) 一般情况下预训练模型都是大型模型,具备复杂的网络结构,众多的参数量,以及在足够大的数据集下进行训练而产生的模型。在NLP领域,预训练模型往往是语…...
Android11 FallbackHome启动和关闭流程分析
Android 7.0引入了新特性:Direct Boot Mode,设备启动后进入的一个新模式,直到用户解锁(unlock)设备此阶段结束。在这个模式下,系统调用 resolveHomeActivity 找到的是FallbackHome ,而不是我们的…...
elasticsearch-java api 8 升级
es client api 升级 背景 公司项目从sring-boot2 升级到了spring-boot3 ,es的服务端也跟着升级到了es8 ,而es的客户端7和服务端8 是不兼容的, 客户端es 7使用的是: elasticsearch-rest-high-level-client es 8 升级到…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...