老版Python移植工具PyEnv

2023-03-05 10:54:39 浏览数 (1)

对于老的安全信息系统,如果是用Python写的后端程序,基本就三大框架为主:Tornado、Flask、Django。

老Python系统升级,一种方法是,直接把代码移植成最新的Python3.0的版本,以后升级也方便,但有老版本的依赖包PY3或许没有,这种情况可以暂时用 PyEnv 构建旧版本,运行程序, 再用Conda、VirtualEnv,基于PyEnv构建特定的版本创建虚拟环境, 使用圆环套圆环的环境构建策略。

之前介绍了rbenv ruby-build,而pyenv和rbenv的使用体验非常像。

1.下载项目

代码语言:javascript复制
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

2.进入项目目录编译安装。

代码语言:javascript复制
cd ~/.pyenv && src/configure && make -C src

3.Bash Shell下配置与初始化

代码语言:javascript复制
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo -e 'if command -v pyenv 1>/dev/null 2>&1; thenn  eval "$(pyenv init -)"nfi' >> ~/.bash_profile

4.Zsh Shell下配置与初始化

代码语言:javascript复制
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; thenn  eval "$(pyenv init -)"nfi' >> ~/.zshrc

5.Fish Shell下配置与初始化

代码语言:javascript复制
set -Ux PYENV_ROOT $HOME/.pyenv
set -Ux fish_user_paths $PYENV_ROOT/bin $fish_user_paths
echo -e 'nn# pyenv initnif command -v pyenv 1>/dev/null 2>&1n  pyenv init - | sourcenend' >> ~/.config/fish/config.fish

6.常用的操作命令

代码语言:javascript复制
pyenv version
pyenv install
pyenv global

7.安装指定系统

代码语言:javascript复制
pyenv install -l
pyenv install 3.6.12
pyenv versions
pyenv global 3.6.12
pyenv local/pyenv shell

经过实际应用,很好用。

Python虚拟化环境工具三件宝:PyEnv、VirtualEnv、Conda。

老版本Python系统移植的法宝工具。

0 人点赞