[英]PySFTP failing with "No hostkey for host X found" when deploying Django/Heroku
[英]Rake task failing with `source: not found` on Heroku
我有一個Rails項目,其中包含一個名為update_data
的瑞克任務,如下所示:
every 1.day, :at => '2:30 am' do
root = File.expand_path('../..', __FILE__)
system("""(source #{root}/data_scripts/venv/bin/activate;
python #{root}/data_scripts/scripts/main.py;
deactivate)""")
end
這應該首先激活virtualenv,運行腳本,然后取消激活virtualenv。 當我運行rake update_data
,這可以完美地工作。 但是,當我運行heroku run rake update_data
,它失敗並顯示sh: 1: source: not found
。 我應該怎么做才能使Heroku上的source
可用?
錯誤消息sh: 1: source: not found
表示:
sh
而不是bash
, source
不是內置命令,shell無法在PATH
找到source
。 為了證實這一點來看heroku run sh
,類型source
和輸出與試圖執行比較foobar
。
我建議您嘗試將命令傳遞給bash(通過`bash -c“您的命令在此處”)。 您可能還需要Python buildpack。 您可以添加以下內容:
heroku buildpacks:add heroku/python
我覺得您不需要激活您的virtualenv。
只需使用virtualenv的python可執行文件即可:
every 1.day, :at => '2:30 am' do
root = File.expand_path('../..', __FILE__)
system("#{root}/data_scripts/venv/bin/python #{root}/data_scripts/scripts/main.py")
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.