Python虚拟环境安装
Python虚拟环境安装
一、背景
由于python2.x和3.x存在着一定的差异,所以在开发环境中经常需要采用不同的版本来开发,但是Centos6系统自带的python是2.6的,Centos7自带的python是2.7的
如果在同一个系统上安装不同的版本可能会出现问题,所以,我们引入了python的版本隔离工具pyenv。他可以在系统上安装不同的python版本,而不影响系统的使用。
但是不同的应用可能需要不同的python开发,为此pyenv提供了一个插件virtualenv,这个可以实现项目的隔离。
总结:
pyenv实现python版本的隔离
virtualenv实现项目的隔离
pyenv就是一个本地的git仓库,他的使用依赖git
二、pyenv的安装及使用
1、准备安装环境
系统环境:Centos6.9
安装依赖:git gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
yum install git -y
yum -y install curl gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
需要连接网络
2、创建用户并下载pyenv安装脚本
创建用户:
useradd python
使用python用户登陆下载pyenv脚本并执行:
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer |bash
或者直接将这个脚本下载到本地直接执行
在python用户的.bash_profile文件中添加如下内容:
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
source .bash_profile
pyenv install 命令:
pyenv install -l/--list :列出所有可以安装的版本
pyenv help install:显示帮助信息
pyenv install -v/--version:显示安装过程
pyenv install python版本:暗转指定的python版本
例如:安装3.5.3版本
pyenv install 3.5.3
由于pyenv安装需要联网来下载安装包,所以速度比较慢,我们也可以将安装包下载下来放到.pyenv的cache目录下
如果没有可以创建
安装完成后的操作:
pyenv versions列出已经安装的python版本,及当前使用的版本
pyenv切换版本的方式:
global:将指定的版本设置为当前用户的默认版本,注意:如果是root安装的千万不可使用global,否则整个系统的python版本都会改变
local:将当前的工作目录及其子目录的版本设置为指定的版本
shell:将当前的shell环境(会话)设置为某个指定的版本,如果这个会话断开,这个版本设置失效
例如:
pyenv local 3.5.3
pyenv global 3.5.3
pyenv shell 3.5.3
三、virtualenv实现项目的隔离
工具的默认存在路径:~/.pyenv/plugins/pyenv-virtualenv
虚拟环境的存放目录:~/.pyenv/versions
1、创建虚拟环境
格式:pyenv virtualenv 版本 虚拟环境名
例如:
cd /home/python/work/Web #进入项目目录
pyenv virtualenv 3.5.3 Web #给这个目录创建虚拟环境
2、切换虚拟环境
cd /home/python/work/Web
pyenv local 3.5.3/envs/test #先把这个目录和版本绑定
cd /home/python/work/Web #进入这个目录就是进入这个虚拟环境,出了这个目录就是出虚拟环境
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器