2017-12-27 96 views
1

Julia v0.6.2 BloomFilters早已安裝。「使用」期間Julia警告是否被選擇性禁用?

julia> using BloomFilters 
WARNING: Array(::Type{T}, m::Int) where T is deprecated, use Array{T}(m) instead. 
Stacktrace: 
[1] depwarn(::String, ::Symbol) at ./deprecated.jl:70 
[2] Array(::Type{Any}, ::Int64) at ./deprecated.jl:57 
[3] include_from_node1(::String) at ./loading.jl:576 
.... 
[14] (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:73 
while loading /Users//.julia/v0.6/BloomFilters/src/probabilities.jl, in expression starting on line 5 

這似乎工作正常,否則,在某些時候,BloomFilters的維護者可能會處理棄用。同時,是否有可能有選擇地關閉特定包裝的警告?我不想關閉其他軟件包(即全球範圍)的警告(甚至與此相同)。

+0

注意,在V0.7朱莉婭/ V1.0記錄的方式,這可以作爲語言標準的一部分被翻修,雖然此特定功能WASN尚未添加,但計劃在1.x. –

+0

@ChrisRackauckas是v0.7可用且穩定? – ShpielMeister

+1

還沒有。 v0.7是開發者版本的Julia v1.0。功能凍結應該會在任何一週內完成,然後將會有一個長期的測試階段來擺脫這些錯誤。所以基本上,v1.0應該會在幾個月後出現,並標記每個警告來自哪裏,所以至少如果它沒有實現,那麼您可以在幾分鐘內將自己的信息放在一起。 –

回答

4

你可以嘗試Suppressor.jl

using Suppressor: @suppress_err 

@suppress_err using BloomFilters 
+1

抑制器很好地工作。已經在REPL和IJulia筆記本上進行了測試 – ShpielMeister

1

如果您正在命令行REPL中運行此操作,則可以使用--depwarn=no標誌啓動Julia,該標誌將刪除所有棄用警告。

如果您希望在IJulia中執行此操作(例如在筆記本中),則需要將此標誌添加到Julia內核初始化腳本中。應該有一個kernel.json文件,必須更新。

或者,您可以暫時將所有stdoutstderr重定向爲交互式「禁用」警告。

編輯:我應該更仔細地閱讀這個問題。這將禁用所有包的所有警告。查看Suppressor.jl。

+0

感謝您的信息。然而,所述的問題是**選擇性**僅關閉**特定包**的警告。 – ShpielMeister

+0

你說得對,我會編輯我的答案。重定向'stdout'和'stderr'是一個選項,這是我相信Suppressor.jl所做的。 – kdheepak