环境 CentOS7 + Python3.6 沙箱安装
一、pyenv简介
pyenv 主要用来管理 Python 的版本,比如一个项目需要 Python 2.x ,一个项目需要 Python 3.x 。
pyenv 通过系统修改环境变量来实现 Python 不同版本的切换。
pyenv 它并没有使用将不同的 PATH植入不同的shell这种高耦合的工作方式,而是简单地在PATH 的最前面插入了一个垫片路径(shims):~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin。所有对 Python 可执行文件的查找都会首先被这个 shims 路径截获,从而使后方的系统路径失效。
二、安装pyenv
1、安装pyenv依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel
yum -y install git (用于从git中下载pyenv)
2.安装pyenv
从git上面克隆下pyenv,安装完毕
git clone https://github.com/pyenv/pyenv.git
3.配置pyenv环境变量
echo 'export PYENV_ROOT="$HOME/pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
4.验证pyenv安装是否成功
pyenv commands 查看pyenv命令
三、安装多版本的python
1、查看当前系统默认python版本
python --version
2、使用pyenv安装python3.5
1)查看pyenv可安装的python版本
pyenv install --list
2)安装所需python版本
pyenv install -v 版本号
pyenv install -v 3.5.2
(这个官网下载好慢,等了好几分钟)
3)查看已安装版本
pyenv versions
system 表示系统自带的版本,表示 当前正在使用的版本
每次安装完成后需要刷新py可用列表
pyenv rehash
删除已安装版本
pyenv uninstall XXXXXX
安装 Pyenv-virtualenv插件
pyenv virtualenv 是pyenv的插件,为pyenv设置的python版本提供隔离的虚拟环境,设置虚拟环境后,在这某个目录下面安装的第三方库及修改库搜索路径都不会影响其他环境,相当于一个沙盒环境,互相不影响。
1.安装 pyenv-virtualenv插件
git clone git://github.com/yyuu/pyenv-virtualenv.git ./pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile
2.查看是否成功安装,并获取帮助
pyenv help virtualenv
source ~/.bash_profile
3.创建一个虚拟环境,py
版本设置为3.5.2
,名字为myenv
:
pyenv virtualenv 3.5.2 myenv
4.切换和使用myenv
pyenv activate myenv
5.退出myenv
pyenv deactivate
6.删除myenv
二、安装配置superset
参考superset官网
1.安装依赖包
For Fedora and RHEL-derivatives, the following command will ensure that the required dependencies are installed:
sudo yum upgrade python-setuptools
sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
2.升级pip,用来符合python的版本
Put all the chances on your side by getting the very latest pip
and setuptools
libraries.:
pip install --upgrade setuptools pip
安装psycopg2
pip install psycopg2==2.6.2
3.安装与配置superset
Follow these few simple steps to install Superset.:
# Install superset
pip install superset
# Create an admin user (you will be prompted to set a username, first and last name before setting a password)
fabmanager create-admin --app superset
# Initialize the database
superset db upgrade
# Load some data to play with
superset load_examples
# Create default roles and permissions
superset init
# To start a development web server on port 8088, use -p to bind to another port
superset runserver -d
三、登录superset连接数据库
问题处理:
1、试着在python3.6.5上安装最新的superset(0.28.1),在创建管理员用户的时候报如下错误:
$ fabmanager create-admin --app superset
...
Was unable to import superset Error: cannot import name '_maybe_box_datetimelike' from 'pandas.core.common' (/home/kongxx/.pyenv/versions/3.7.2/envs/myenv-3.7.2/lib/python3.7/site-packages/pandas/core/[common.py](common.py))
问题原因
这是 pandas 库版本太高导致的,需要安装低版本的 pandas 库。
解决办法
# 查看当前 pandas 版本
$ pip list | grep pandas
pandas 0.24.2
# 安装低版本 pandas
$ pip install pandas==0.23.4
然后重新运行 “fabmanager create-admin --app superset” 命令创建管理员用户。
2、安装psycopg是出错:Error: pg_config executable not found.
装psycopg是出错
执行 python setup.py install
running build running build_py running build_ext Error: pg_config executable not found. Please add the directory containing pg_config to the PATH or specify the full executable path with the option: python setup.py build_ext --pg-config /path/to/pg_config build ... or with the pg_config option in 'setup.cfg'.
需要安装postgresql-devel插件
yum install postgresql-devel*