問題
您正在使用Databricks用於機器學習的運行時集群,並且Python筆記本正在失敗。
你會發現無效的語法錯誤在日誌裏。
文件"/local_disk0/tmp/1593092990800-0/PythonShell.py",第363行def __init__(self, *args, condaMagicHandler=None, **kwargs):
導致
中的鍵值。/etc/environment /文件正在被用戶環境變量覆蓋。
有幾個默認的環境變量不應該被覆蓋。
例如,MLFLOW_CONDA_HOME = /磚/ conda默認設置。如果重寫此值,則可能導致無效的語法錯誤。
這個樣例init腳本可能會導致這個問題,因為它正在替換而不是追加一個值。
%python dbutls .fs.put("/databricks/init-scripts/set-env.sh", """#!/bin/bash sudo echo VAR1="VAL1" > /etc/environment sudo echo VAR2="VAL2" > /etc/environment sudo echo VAR3="VAL3" > /etc/environment """, true)
解決方案
方法中的任何值都不應重寫/etc/environment /文件。
的變量後應始終添加變量/etc/environment /文件。
實例init腳本通過將every to值附加到/etc/environment /文件。
%python dbutls .fs.put("/databricks/init-scripts/set-env.sh", """#!/bin/bash sudo echo VAR1="VAL1" >> /etc/environment sudo echo VAR2="VAL2" >> /etc/environment sudo echo VAR3="VAL3" >> /etc/environment """ "", true)