对于老的安全信息系统,如果是用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系统移植的法宝工具。