Python命令在機器學習集群上失敗

Python命令在Databricks運行時機器學習集群上失敗。Conda。

寫的arjun.kaimaparambilrajan

最後發布日期:2022年5月16日

問題

您正在使用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)