【问题标题】:errors while Installing superset under Windows system在 Windows 系统下安装超集时出错
【发布时间】:2018-05-21 07:37:22
【问题描述】:

我想在我的 Windows 10 中安装 python 模块 - 超集,但是,一些错误阻止我进一步安装。

在我输入“pip install superset”后,下面是在cmd中执行的3个错误:

  1. python-geohash 的构建轮失败

  2. flask-appbuilder 1.11.1 需要 Flask-SQLAlchemy==2.1,但是 您将拥有不兼容的 flask-sqlalchemy 2.3.2。

  3. 命令“c:\pythonvir\env\scripts\python.exe -u -c”导入 设置工具, tokenize;file='C:\Users\Lawrence\AppData\Local\Temp\pip-install-1lqhahdp\python-geohash\setup.py';f=getattr(tokenize, 'open', open)(文件);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" 安装 --record C:\Users\Lawrence\AppData\Local\Temp\pip-record-f4lpe14x\install-record.txt --single-version-externally-managed --compile --install-headers c:\pythonvir\env\include\site\python3.6\python-geohash" 失败 错误代码 1 在 C:\Users\Lawrence\AppData\Local\Temp\pip-install-1lqhahdp\python-geohash\

有什么想法吗? 我尝试安装 VS2015 和 VS2017 和 sasl,但仍然有错误消息.. 谢谢 劳伦斯

【问题讨论】:

    标签: python-3.x superset


    【解决方案1】:

    设置 Superset 0.28.1(当前 pip 图像),Windows 说明

    • 遵循docs 中的说明,直到“pip install superset”之前
      • 这包括全局“pip install cryptography”。

    在项目文件夹中打开命令提示符:

    :: Drop some lib versions (this is required specifically for 0.28.1 on Windows,
    :: doesn't apply on current master):
    pip install Pandas==0.23.4
    pip install SQLAlchemy==1.2.18
    :: jwt started getting specific about the flask version from 3.21.0..
    pip install flask-jwt-extended==3.20.0
    
    :: Add current folder to those searched by python for modules:
    set PYTHONPATH=%cd%
    
    python wenv\Scripts\superset db upgrade
    set FLASK_APP=superset
    flask fab create-admin
    python wenv\Scripts\superset load_examples
    python wenv\Scripts\superset init
    
    :: Start flask devserver:
    python wenv\Scripts\superset run -p 8005 --with-threads --reload --debugger
    

    在 Windows 上通过 git 克隆设置 Superset (2019-08-11)

    如果从源设置 Superset 0.34rc1(使用命令提示符) (主要取自 RELEASING/Dockerfile.from_tarball,为 windows 修改了一些东西)

    git clone <superset repo>
    

    在 repo 文件夹中打开 shell,然后安装并激活虚拟环境:

    python -m venv wenv
    :: To activate in powershell: . .\wenv\Scripts\activate
    wenv\Scripts\activate
    

    需要安装node构建静态,只需安装python包'nodeenv':

    pip install nodeenv
    

    Nodeenv 类似于 virtualenv,但用于管理节点。

    接下来使用 nodeenv 制作节点虚拟环境,将其放置在 nodeenv 目录中:

    nodeenv nodeenv
    

    激活节点虚拟环境:

    :: unlike virtualenv, nodeenv does not provide a script for activating
    :: within git bash shell on windows, so we have to use command prompt
    :: and convert a few commands to windows equivalents.
    :: https://github.com/ekalinin/nodeenv/issues/226
    :: To activate in powershell: . .\nodeenv\Scripts\Activate.ps1
    nodeenv\Scripts\activate
    cd superset\assets
    npm ci
    

    全局安装 webpack:

    npm install -g webpack webpack-cli
    

    设置 NODE_ENV 并运行 webpack:

    set NODE_ENV=production
    :: Note that webpack build requires min 2048 GB of RAM,
    :: and spawns many child node.js instances, each of which
    :: also require copious resources. If it doesn't have enough
    :: resources, the build will of course fail.
    webpack --mode=production --colors --progress
    

    一段时间后,构建应该完成并且文件应该放在 superset/assets/dist 中。

    :: Remove node_modules dir as it's no longer needed:
    rmdir /q /a node_modules
    
    :: cd back to project root
    cd ..\..
    
    :: On Windows, it appears nodeenv replaces virtualenv settings,
    :: it doesn't work concurrently, so open a new shell and re-activate 
    :: python env.
    wenv\Scripts\activate
    
    :: Just in case install latest pip etc.
    python -m pip install --upgrade pip setuptools wheel
    
    :: Install project python packages
    ::                                         v - leave out the r, you must not.
    python -m pip install -r requirements.txt -r requirements-dev.txt
    
    :: install pyodbc, if planning to connect to ms sql
    pip install pyodbc
    
    :: superset/static/assets is supposed to symlink to ../assets.
    :: So we need to make a *windows symlink* or adjust setup.py..
    
    :: Windows symlink method:
    :: Open cmd.exe in admin mode or enable windows Settings / 
    :: Update and Security / For developers.
    
    :: in superset/static, rename 'assets' file.
    rename assets assets_linux
    :: make windows symlink
    mklink assets ..\assets
    
    :: Or modify setup.py and remove "static" from PACKAGE_DIR:
    :: PACKAGE_DIR = os.path.join(BASE_DIR, "superset", "assets")
    
    :: Finally, install superset in editable mode
    pip install -e .
    
    :: compile language files (gettext .po files)
    fabmanager babel-compile --target superset/translations
    
    set PATH=%cd%\superset\bin;%PATH%
    IF DEFINED PYTHONPATH (set PYTHONPATH=%cd%\superset;%PYTHONPATH%) ELSE (set PYTHONPATH=%cd%\superset)
    

    从这里我们大致遵循 RELEASING\from_tarball_entrypoint.sh:

    :: If symlink was not created for /static/assets earlier:
    :: Adjust superset/config.py, line 52 so it doesn't look in the 'static' folder anymore
    :: This can also be adjusted by creating a superset_config.py file that overrides config.py..
    :: PACKAGE_DIR = os.path.join(BASE_DIR, "assets")
    
    python wenv\Scripts\superset db upgrade
    
    set FLASK_APP=superset
    flask fab create-admin
    python wenv\Scripts\superset load_examples
    python wenv\Scripts\superset init
    

    启动烧瓶开发服务器:

    :: if superset/static/assets symlink was create, static files will be correctly served..
    
    python wenv\Scripts\superset run -p 8005 --with-threads --reload --debugger
    

    从 git clone 为 Ubuntu Linux 18.04 (2019-08-11) 设置最新的 Superset

    • 按照docs 中的说明操作,直到“pip install superset”之前
    • 包括所需的系统包和密码学。

      git clone <superset repo>
      

    在 repo 文件夹中打开 shell,然后安装并激活虚拟环境:

    使用符号链接为 python 3.6+ 更正 python 二进制文件

    python3 -m venv lenv
    source lenv/bin/activate
    

    需要安装node构建静态,只需安装python包'nodeenv':

    pip install nodeenv
    

    Nodeenv 类似于 virtualenv,但用于管理节点。

    接下来使用 nodeenv 制作节点虚拟环境,将其放置在 nodeenv 目录中:

    nodeenv lnenv
    

    激活节点虚拟环境:

    source lnenv/bin/activate
    cd superset/assets
    npm ci
    

    全局安装 webpack(在这种情况下全局安装意味着它将进入 nodeenv 的虚拟文件夹):

    npm install -g webpack webpack-cli
    npm run build
    

    最后,构建应该完成,文件应该放在 superset/assets/dist 中。

    # Remove node_modules dir as it's no longer needed:
    rm -rf node_modules
    
    # cd back to project root
    cd ../..
    
    # Just in case install latest pip etc.
    # Use python -m pip to avoid a possible issue where some packages
    # attempt to write to global python repo..
    python -m pip install --upgrade pip setuptools wheel
    
    # Install project python packages
    python -m pip install -r requirements.txt -r requirements-dev.txt
    
    # Additionally install pyodbc, if one needs to connect to ms sql
    pip install pyodbc
    
    # Install superset in editable mode
    pip install -e .
    
    # Compile language files (gettext .po files)
    fabmanager babel-compile --target superset/translations
    
    # Append to PYTHONPATH if it already exists.
    export PATH=$(pwd):$PATH
    if [ -z "$PYTHONPATH" ]
    then
        export PYTHONPATH=$(pwd):$PYTHONPATH
    else
        export PYTHONPATH=$(pwd)
    fi 
    # Can also adjust SUPERSET_HOME to store default sqlite db in a different place.
    # export SUPERSET_HOME=$(pwd)/superset_home
    export MAPBOX_API_KEY=your_mapbox_key...
    

    从这里我们大致遵循 RELEASES\from_tarball_entrypoint.sh:

    superset db upgrade
    
    export FLASK_APP=superset
    flask fab create-admin
    superset load_examples
    superset init
    

    启动烧瓶开发服务器:

    superset run -p 8005 --with-threads --reload --debugger
    

    【讨论】:

      【解决方案2】:

      我在安装超集时遇到了同样的错误。问题是 Windows:我可以按照以下步骤安装 python-geohash 库:

      1) 对于 Flask-SQLAlchemy,再次安装这个库,但是指定你需要的版本:pip install Flask-SQLAlchemy=2.1

      2) 对于 python-geohash 库:首先从“用于 Python 扩展包的非官方 Windows 二进制文件”网页下载 .whl:https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-geohash。 然后,下载满足你的python版本的.whl。然后,使用以下命令安装软件包:

      点安装\.whl

      最后,再次尝试安装超集。

      最好的问候,

      费尼

      【讨论】:

        猜你喜欢
        • 2021-05-16
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多