[英]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.