时间是把杀猪刀,机器学习这个神奇的东西最终把这门语言再次推向了高潮,最神奇的是连运维都要和机器学习沾边,美其名:AiOps.这不行啊,不学习一下机器学习都跟不上运维的发展趋势了,于是机器学习没学咋地,python倒是比较溜了.
学python一般都系统自带2.7,但对于我这半道入门的选手,实在没必要卡在2.x系列.于是多版本python管理是要玩溜的第一步.今天我们就一起学习一下python处理管理工具
pyenv安装
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
or
git clone https://github.com/pyenv/pyenv.git ~/.pyenv设置环境变量:
两种Shell,bash用第一种,我是zsh所以我用第二种
vim ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
$ source ~/.bashrc
或者
$ vi ~/.zshrc:
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
然后同样激活上面的配置:
$ source ~/.zshrc现在我们就可以使用pyenv了:
pyenv versions
* system (set by /Users/rainbird/.pyenv/version)
3.7.3
3.7.5
3.8.2
星号表示当前正在使用的Python版本。正常应该显示空吧?我上面列出来是我本地使用的版本(看看,都低于3.7吧)
查看所有可安装的Python版本:
pyenv install -l安装与卸载:
pyenv install 3.7.3 # 安装python3.7.3
pyenv uninstall 3.7.3 # 卸载python3.7.3设置python版本
对所有的Shell全局有效,会把版本号写入到~/.pyenv/version文件中
pyenv global 3.7.3只对当前目录有效,会在当前目录创建.python-version文件
pyenv local 3.7.3只在当前会话有效
pyenv shell 3.7.3重置版本设置
只有 pyenv shell 和 pyenv local 命令有--unset参数
pyenv shell --unset
pyenv local --unset常见问题:
下载过慢
pyenv install执行以后,由于使用下载源码包使用的官方地址,很大概率会卡在第一步的下载,这时候我一般会选择使用sohu源,将源文件下载到pyenv的cache目录,然后再执行pyenv install.
以3.8.2为例export v=3.8.2;wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v各种找不到问题一步解决
apt-get install build-essential zlib1g-dev libffi-dev libbz2-dev libreadline-dev libssl-dev libsqlite3-dev -y找不到C编译器
configure: error: no acceptable C compiler found in $PATHapt-get install build-essential -y找不到zip模块
zipimport.ZipImportError: can‘t decompress data; zlib not availableapt-get install zlib1g-dev -y找不到ctypes
ModuleNotFoundError: No module named ‘_ctypes‘apt-get install libffi-dev- bz2扩展未编译
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?apt-get install -y libbz2-dev libreadline-dev readline扩展未编译
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?apt-get install -y libbz2-dev libreadline-devssl扩展未编译
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?apt-get install libssl-dev -y- sqlite3未编译
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?apt-get install libsqlite3-dev -y
原文:https://blog.51cto.com/rainbird/2480244
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!