linux系统下vscode portable版本的python环境搭建003:venv

这里写自定义目录标题

  • python安装
      • 方案一. 使用源码安装(有[构建工具](https://blog.csdn.net/ResumeProject/article/details/136095629)的情况下)
      • 方案二.使用系统包管理器
  • 虚拟环境安装
  • TEST
  • CG

  • 本文目的:希望在获得一个新的系统之后,以最简便的方式搭配一个能够运行与调试python的编程环境。

python安装

  • 虚拟环境是在现有的 Python 安装版基础之上创建的,这被称为虚拟环境的“基础”Python,所以先安装python。

方案一. 使用源码安装(有构建工具的情况下)

  • 实际上从源码构建可能出现一些问题

  • https://www.python.org/downloads/
    在这里插入图片描述
    在这里插入图片描述

  • 下载 Python 源代码:

#!/bin/bashstart_time=$(date +%s)python_version="3.10.10"
python_tarball="Python-${python_version}.tar.xz"# 检查文件是否存在
if [ ! -f "$python_tarball" ]; then# 如果文件不存在,则下载echo "Downloading $python_tarball..."wget "https://www.python.org/ftp/python/${python_version}/${python_tarball}"
fi# 解压并进入目录
tar -xvf "$python_tarball"
cd "Python-${python_version}"# 配置、编译、安装
./configure
make
sudo make install #也可以后边再安装# 返回上级目录
cd ..# 删除下载的压缩文件和解压后的目录(可根据需要保留)
# rm "$python_tarball"
# rm -r "Python-${python_version}"end_time=$(date +%s)
elapsed_time=$((end_time - start_time))echo "Python ${python_version} installation complete."
echo "Total elapsed time: $0.0554seconds." # 这里会乱码
  • 在下载好源码的情况下,大概需要运行200秒完成安装。

方案二.使用系统包管理器

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.8

虚拟环境安装

  • apt install python3.8-venv
  • python3.8 -m venv /media/kubuntu/系统/ESSENTIAL_FILE/MYCODE/mypython/testdir/
  • source venv/bin/activate
  • 观察venv 的目录结构,发现其拷贝了Python 解释器以 创建了一个独立、隔离的 Python 环境
    在这里插入图片描述

TEST

$ source testdir/bin/activate
$ python
Python 3.8.10 (default, Nov 22 2023, 10:22:35) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 1
>>> b =2
>>> c
Traceback (most recent call last):File "<stdin>", line 1, in <module>
NameError: name 'c' is not defined
>>> a+b
3

CG

  • 感觉以上的操作步骤有点多,还不如直接使用anaconda,只需要下载一个1G大的安装文件即可
    在这里插入图片描述

  • 浏览器上运行的 Python https://pyodide.org/en/stable/ https://pyscript.com/@examples

  • pyproject.toml管理Python 项目依赖

  • pyenv` 是一个方便的工具,可用于安装和管理多个 Python 版本。

  • 安装 pyenv

    curl https://pyenv.run | bash
    
  • 使用 pyenv 安装 Python:

    pyenv install 3.9.5
    

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

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

相关文章

LeetCode:67.二进制求和

67. 二进制求和 - 力扣&#xff08;LeetCode&#xff09; 又是一道求和题&#xff0c;% / 在求和的用途了解了些&#xff0c; 目录 题目&#xff1a; 思路分析&#xff1a; 博主代码: 官方代码&#xff1a; 每日表情包&#xff1a; 题目&#xff1a; 思路分析&#xf…

2024-02-12 Unity 编辑器开发之编辑器拓展3 —— EditorGUI

文章目录 1 GUILayout2 EditorGUI 介绍3 文本、层级、标签、颜色拾取3.1 LabelField3.2 LayerField3.3 TagField3.4 ColorField3.5 代码示例 4 枚举选择、整数选择、按下按钮4.1 EnumPopup / EnumFlagsField4.2 IntPopup4.3 DropdownButton4.4 代码示例 5 对象关联、各类型输入…

Linux基础I/O(三)——缓冲区和文件系统

文章目录 什么是C语言的缓冲区理解文件系统理解软硬链接 什么是C语言的缓冲区 C语言的缓冲区其实就是一部分内存 那么它的作用是什么&#xff1f; 下面有一个例子&#xff1a; 你在陕西&#xff0c;你远在山东的同学要过生日了&#xff0c;你打算送给他一份生日礼物。你有两种方…

Centos9部署LAMP

配置LAMP 参考文档 https://blog.csdn.net/weixin_51432789/article/details/112254685 首先安装 yum install -y libxml2-devel 安装apr-1.7.4 解压 tar xf apr-1.7.4.tar.gz 安装以来 yum -y install gcc cd apr-1.7.4/ 预编译 ./configure --prefix/usr/local/…

鸿蒙系统进一步学习(一):学习资料总结,少走弯路

随着鸿蒙Next的计划越来越近&#xff0c;笔者之前的鸿蒙系统扫盲系列中&#xff0c;有很多朋友给我留言&#xff0c;不同的角度的问了一些问题&#xff0c;我明显感觉到一点&#xff0c;那就是许多人参与鸿蒙开发&#xff0c;但是又不知道从哪里下手&#xff0c;因为资料太多&a…

C#中的 async void 、 async Task与async Task<TResult>

异步方法可具有以下返回类型&#xff1a; Task&#xff1a;如果方法不含任何 return 语句或包含不返回操作数的 return 语句&#xff0c;则将 Task 用作返回类型&#xff1b;Task<TResult>&#xff1a;如果方法包含指定 TResult 类型操作数的 return 语句&#xff0c;将…

【lesson51】信号之信号处理

文章目录 信号处理可重入函数volatileSIGCHLD信号 信号处理 信号产生之后&#xff0c;信号可能无法被立即处理&#xff0c;一般在合适的时候处理。 1.在合适的时候处理&#xff08;是什么时候&#xff1f;&#xff09; 信号相关的数据字段都是在进程PCB内部。 而进程工作的状态…

零基础学编程怎么入手,中文编程工具构件箱之星空构件用法教程,系统化的编程视频教程上线

零基础学编程怎么入手&#xff0c;中文编程工具构件箱之星空构件用法教程&#xff0c;系统化的编程视频教程上线 一、前言 今天给大家分享的中文编程开发语言工具资料如下&#xff1a; 编程入门视频教程链接 http://​ https://edu.csdn.net/course/detail/39036 ​ 编程…

SQL世界之命令语句Ⅳ

目录 一、SQL CREATE DATABASE 语句 1.CREATE DATABASE 语句 2.SQL CREATE DATABASE 语法 3.SQL CREATE DATABASE 实例 二、SQL CREATE TABLE 语句 1.CREATE TABLE 语句 2.SQL CREATE TABLE 语法 3.SQL中最常用的数据类型 4.SQL CREATE TABLE 实例 三、SQL 约束 (Con…

Days 29 ElfBoard LCD屏双电荷泵电路原理

7寸LCD屏幕的屏幕排线中采用的供电电压是5V供电&#xff0c;但是在屏幕工作时需要VCOM-5.3V、AVDD-12.5V、VGL--7V、VGH-17V几组电压&#xff0c;所以要对初始的5V电源进行DC-DC电压变换&#xff0c;在这里我们用到了双电荷泵电路。 再此电路中VCC_5V为电源输入&#xff0c;E…

设计模式-适配器模式 Adapter

适配器模式 (Adapter) (重点) 适配器设计模式&#xff08;Adapter Design Pattern&#xff09;是一种结构型设计模式&#xff0c;用于解决两个不兼容接口之间的问题。适配器允许将一个类的接口转换为客户端期望的另一个接口&#xff0c;使得原本由于接口不兼容而不能一起工作的…

CentOS 7.9安装Tesla M4驱动、CUDA和cuDNN

正文共&#xff1a;1333 字 21 图&#xff0c;预估阅读时间&#xff1a;2 分钟 上次我们在Windows上尝试用Tesla M4配置深度学习环境&#xff08;TensorFlow识别GPU难道就这么难吗&#xff1f;还是我的GPU有问题&#xff1f;&#xff09;&#xff0c;但是失败了。考虑到Windows…

LeetCode662:二叉树最大宽度(二叉树非典型最大宽度,BFS层序遍历重编号)

题目 给你一棵二叉树的根节点 root &#xff0c;返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点&#xff08;即&#xff0c;两个端点&#xff09;之间的长度。将这个二叉树视作与满二叉树结构相同&#xff0c;…

金明的预算方案 ——分组背包

金明今天很开心&#xff0c;家里购置的新房就要领钥匙了&#xff0c;新房里有一间金明自己专用的很宽敞的房间。 更让他高兴的是&#xff0c;妈妈昨天对他说&#xff1a;“你的房间需要购买哪些物品&#xff0c;怎么布置&#xff0c;你说了算&#xff0c;只要不超过N元钱就行”…

复习2:带头双向链表

1.双向链表 typedef struct shuangxiang { int data; struct shuangxiang *next; struct shuangxiang *prev; }biao; 2.哨兵位创建 void setshaobing(biao**point) { *point(biao*)malloc(sizeof(biao)); *point->data-1; *point->next*point->prevNULL; } 3.尾插 …

服务器操作系统windows和linux区别对比

阿里云服务器镜像Windows和Linux操作系统有什么区别&#xff1f;性能有差异吗&#xff1f;有&#xff0c;同配置下Linux性能要优于Windows&#xff0c;但这与阿里云无关&#xff0c;仅仅是linux和windows之间的区别。另外&#xff0c;阿里云提供的windows和linux操作系统均为正…

JAVA设计模式之备忘录模式详解

备忘录模式 1 备忘录模式介绍 备忘录模式提供了一种对象状态的撤销实现机制,当系统中某一个对象需要恢复到某一历史状态时可以使用备忘录模式进行设计. 很多软件都提供了撤销&#xff08;Undo&#xff09;操作&#xff0c;如 Word、记事本、Photoshop、IDEA等软件在编辑时按…

【深度学习】S1 预备知识 P1 张量

目录 张量创建第一个张量张量的下载与引入创建第一个张量 张量的大小和形状张量的形状张量的大小 改变张量的形状创建特殊张量张量的基本运算按元素运算张量连结逻辑运算张量求和 张量的广播机制张量的索引与切片索引、切片访问张量通过切片方式节省内存占用 张量转换为其他对象…

Stable Diffusion 模型下载:majicMIX fantasy 麦橘幻想

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十

STM32自学☞PWM驱动舵机(按键控制)

PWM.c文件 #include "stm32f10x.h" /*初始化函数*/ void PWM_Init(void){ /*开启时钟*/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //开启TIM2的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟 /*GPIO初始化*/ G…