簡體   English   中英

沒有sudo訪問權限的氣流?

[英]Airflow without sudo access?

在我的 azure VM 上的虛擬環境中,我跑了

pip3 install apache-airflow

當我啟動airflow db init時,我收到了

文件“/home/shivamanand/myenv/lib/python3.7/site-packages/airflow/configuration.py”,第 398 行,在 _validate_config_dependencies f“錯誤:sqlite C 庫版本太舊(< {min_sqlite_version_str})。”氣流.exceptions.AirflowConfigException:錯誤:sqlite C 庫版本太舊(< 3.15.0)

接下來,我按照文檔升級 sqllite(我無法安裝 docker w postgres 等,因為我沒有 sudo 訪問權限)

https://airflow.apache.org/docs/apache-airflow/stable/howto/set-up-database.html

這些工作->

wget https://www.sqlite.org/src/tarball/sqlite.tar.gz
tar xzf sqlite.tar.gz
cd sqlite/
export CFLAGS="-DSQLITE_ENABLE_FTS3 \
    -DSQLITE_ENABLE_FTS3_PARENTHESIS \
    -DSQLITE_ENABLE_FTS4 \
    -DSQLITE_ENABLE_FTS5 \
    -DSQLITE_ENABLE_JSON1 \
    -DSQLITE_ENABLE_LOAD_EXTENSION \
    -DSQLITE_ENABLE_RTREE \
    -DSQLITE_ENABLE_STAT4 \
    -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT \
    -DSQLITE_SOUNDEX \
    -DSQLITE_TEMP_STORE=3 \
    -DSQLITE_USE_URI \
    -O2 \
    -fPIC"
export PREFIX="/usr/local"
LIBS="-lm" ./configure --disable-tcl --enable-shared --enable-tempstore=always --prefix="$PREFIX"

那么對於

make
make install

我正進入(狀態

gcc -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=3 -DSQLITE_USE_URI -O2 -fPIC -o mksourceid /home/shivamanand/sqlite/tool/mksourceid.c tclsh /home/shivamanand/sqlite/tool/mksqlite3h.tcl /home/shivamanand/sqlite >sqlite3。 h /bin/sh: 1: tclsh: not found Makefile:1075: recipe for target 'sqlite3.h' failed make: *** [sqlite3.h] Error 127

我該如何糾正?

此問題是由於您的系統中的 tcl 不可用。 要解決這個問題首先安裝 tcl。

sudo apt install tcl

您可以看到其他錯誤,這是因為 sqlite3.h 文件。 可能是早期的配置/制作問題(例如缺少 tclsh)導致文件為空,這肯定會導致許多類似這樣的構建錯誤。 即使解決了底層問題(例如通過修復缺少的依賴項),如果 make 文件已經存在,它也不會重新生成它,在這種情況下,需要在重建之前刪除 sqlite3.h 文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM