2016-08-03 151 views
1

這個問題是關係到已經問過的問題: Julia error using PyPlot - signal (11): Segmentation fault朱莉婭PyPlot段

然而,它並不完全清楚,我什麼解決辦法有,甚至有步驟是否也適用於我的情況(我試過它們沒有效果)。

我一直在使用Julia 4.6一段時間沒有任何問題。 然後我決定將我的Ubuntu發行版從14更新到16.04。這是當PyPlot停止工作時。 我已經更新了Julia包,並且我也做了Pkg.build(「PyPlot」),沒有任何效果。我也運行Pkg.test(「PyCall」),它成功地通過了所有的測試。我也試過這個建議

ENV["PYTHON"] = ""; Pkg.build("PyPlot") 

現在的情況如下。 我可以正常導入PyPLot:

using PyPlot 

這讓我沒有錯誤。 但是,只要我調用任何命令與PyPlot,如:

figure() 

我收到的錯誤:

signal (11): Segmentation fault 
unknown function (ip: 0x32736) 
Segmentation fault (core dumped) 

和Julia退出課程。

我不知道這是否相關,但出於好奇,我嘗試了以下事情。在命令行啓動蟒蛇後,我做的:

import matplotlib.pyplot 

使我有以下錯誤信息:

RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 29, in <module> 
    import matplotlib.colorbar 
    File "/usr/lib/python2.7/dist-packages/matplotlib/colorbar.py", line 34, in <module> 
    import matplotlib.collections as collections 
    File "/usr/lib/python2.7/dist-packages/matplotlib/collections.py", line 27, in <module> 
    import matplotlib.backend_bases as backend_bases 
    File "/usr/lib/python2.7/dist-packages/matplotlib/backend_bases.py", line 62, in <module> 
    import matplotlib.textpath as textpath 
    File "/usr/lib/python2.7/dist-packages/matplotlib/textpath.py", line 15, in <module> 
    import matplotlib.font_manager as font_manager 
    File "/usr/lib/python2.7/dist-packages/matplotlib/font_manager.py", line 58, in <module> 
    from matplotlib import ft2font 
ImportError: numpy.core.multiarray failed to import 

所有幫助表示讚賞。

編輯:

我通過簡單的卸載,並通過PIP重新安裝matplotlib固定與import語句蟒蛇的問題。然而,這對Julia沒有任何改變。

+1

也許你只需要刪除Pyplot.ji /緩存文件並重新編譯? –

+1

您可能會遇到以下情況:https://github.com/stevengj/PyPlot.jl/issues/234#issuecomment-237031105。 –

回答

1

最後我在一位同事的幫助下設法解決了這個問題。

我首先通過pip重新安裝了matplotlib。

我不得不指出朱莉婭到系統安裝了Python:

ENV["PYTHON"]="/usr/bin/python" 

我然後重建PyCall和PyPlot:

Pkg.build("PyCall") 
Pkg.build("PyPlot") 

重啓動朱莉婭和它的工作!