linux-python管理(pyenv的安装与使用)
由于在高版本的Linux(例如Ubuntu 24.04)在使用pip管理时会出现externally-managed-environment的问题,即系统不允许直接使用pip安装全局包。我们为了避免对系统的python环境破环以及方便管理python版本,这里我推荐使用pyenv来管理python与虚拟环境。
安装编译依赖项
对于Ubuntu/Debian系统:
sudo apt-get update; sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
对于Centos等系统:
sudo yum install -y gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel findutils
安装pyenv
我们使用官方脚本安装
curl https://pyenv.run | bash
配置shell并应用
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
# 如果使用Zsh,请将上面的.bashrc替换为.zshrc
source ~/.bashrc
# 如果使用Zsh,请将上面的.bashrc替换为.zshrc
#验证
pyenv --version
pyenv基本使用
#pyenv install python-version 例如安装3.13.3
pyenv install 3.13.3
#pyenv global python-version 例如设置全局python版本为3.13.3
pyenv global 3.13.3
#pyenv local python-version 例如设置当前本地python版本为3.13.3
cd my-project/
pyenv local 3.13.3
#pyenv shell python-version 例如对当前shell设置python版本为3.13.3
pyenv shell python-version
#pyenv virtualenv python-version myproject-env 例如创建ctf虚拟环境python版本为3.13.3
pyenv virtualenv 3.13.3 ctf
#pyenv activate myproject-env 例如激活ctf虚拟环境
pyenv activate ctf
#pyenv deactivate 退出虚拟环境
pyenv deactivate
说些什么吧!