当前位置: 首页 > article >正文

Ubuntu 系统Python环境管理(全、简)

Ubuntu 系统Python环境管理

文章目录

  • Ubuntu 系统Python环境管理
  • 一、update-alternatives 管理系统默认python版本
    • 1、安装Python
    • 2、管理Python版本
  • 二、Python虚拟环境(推荐)
    • 1、使用venv管理
    • 2、使用`pyenv`管理Python版本

在Ubuntu系统上管理Python环境,通常涉及到安装Python、管理不同版本的Python以及管理Python包。下面是一些基本的指导步骤和推荐的工具。

一、update-alternatives 管理系统默认python版本

1、安装Python

Ubuntu通常自带Python,但你可以安装特定版本的Python或更新版本。使用apt包管理器安装Python很简单:

sudo apt update
sudo apt install python3

如果你需要特定版本的Python(比如Python 3.8),可以使用deadsnakesPPA:

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.8

2、管理Python版本

当系统上安装了多个版本的Python时,你可以使用update-alternatives来管理默认的Python版本:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2

sudo update-alternatives --config python3

这样,你可以选择默认的python3指向哪个版本。

二、Python虚拟环境(推荐)

虚拟环境是Python开发的最佳实践之一,它允许你为每个项目创建隔离的Python环境。

1、使用venv管理

venv是Python的标准库,可以用来创建虚拟环境:
不过,不能随意切换不同python版本。
好处:在于方便使用,
缺点:在于不能切换多个python版本,如果有这个需求可以使用pyenv。

安装venv

sudo apt install python3.8-venv

创建虚拟环境

python3 -m venv myprojectenv

激活虚拟环境:

source myprojectenv/bin/activate

在虚拟环境中,你可以使用pip安装项目所需的依赖,而不会影响到系统中的其他Python项目。

使用pip管理Python包

pip是Python的包安装器。在虚拟环境中,你可以使用它来安装、更新和移除包:

pip install package_name
pip uninstall package_name
pip install package_name==version

2、使用pyenv管理Python版本

pyenv是一个流行的工具,用于在同一系统上安装和管理多个Python版本。它可以让你轻松切换全局Python版本,或者为每个项目指定不同的Python版本。

安装pyenv

curl https://pyenv.run | bash

然后按照输出的指示,将pyenv初始化脚本添加到你的shell配置文件中。

使用pyenv安装新的Python版本:

pyenv install 3.8.5

设置项目的Python版本:

pyenv local 3.8.5

这些步骤提供了在Ubuntu上管理Python环境的基础。根据你的具体需求,可能还会有其他工具和步骤涉及。


http://www.kler.cn/a/378208.html

相关文章:

  • PowerCat反弹Shell
  • 你知道Mac也能拥有丰富的右键菜单栏吗?
  • MySQL utf8mb3 和 utf8mb4引发的问题
  • Linux之crontab使用
  • 【C++】C++四种类型转换方式
  • Chromium Mojo(IPC)进程通信演示 c++(1)
  • Java项目实战II基于Spring Boot的文理医院预约挂号系统的设计与实现(开发文档+数据库+源码)
  • 全球首个国家级别的数据库CAB又在上海召开了!
  • C++之多态的深度剖析(2)
  • 砥砺十年风雨路,向新而行创新程丨怿星科技十周年庆典回顾
  • 【MySQL】存储引擎
  • 基于深度学习的智能交通信号控制
  • uniapp编译多端项目App、小程序,input框键盘输入后
  • 半成品 贪吃蛇项目
  • Linux软硬链接
  • C++ 优先算法 —— 查找总价格为目标值的两个商品(双指针)
  • 八、MapReduce 大规模数据处理深度剖析与实战指南
  • 100种算法【Python版】第33篇——Tonelli-Shanks算法
  • vue+element上传图片
  • fmql之Linux以太网
  • chatgpt3.5权重参数有多少MB;llama7B权重参数有多少MB
  • ChatGPT 和 RAG(检索增强生成)的区别;ChatGPT 和 RAG 的联系
  • 【缓存与加速技术实践】Redis 高可用
  • 【AI语音克隆整合包及教程】声临其境,让想象成为现实——第二代GPT-SoVITS引领语音克隆新时代!
  • ChatGPT变AI搜索引擎!以后还需要谷歌吗?
  • 初知C++:继承