JuliaPy / JuliaPy/PyPlot.jl

using PyPlot hangs/kills julia 1.8.5 or 1.9.0 on MacOS

Đang mở
#567 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Julia
Star
488
Fork
90
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

## using PyPlot hangs or kills julia 1.8.5 or 1.9.0 on MacOS

### Synopsis
`using PyPlot` hangs julia. No progress for >10 hours. No error message. User `^C` exits julia with `Killed: 9`.

With repeated testing, behavior has evolved to crash immediately with `Killed: 9`, where it had hung.

### Demonstration
Carefully recursively force-removed the conda directory `$HOME/.julia/conda`, which seems to be shared between julia 1.8 and 1.9.

Start julia, making sure dynamic dependencies are consistent with the conda python installation.
```
LD_LIBRARY_PATH="$HOME/.julia/conda/3/lib" /Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia
```
or
```
LD_LIBRARY_PATH="$HOME/.julia/conda/3/lib" /Applications/Julia-1.9.app/Contents/Resources/julia/bin/julia
```

Make sure julia is using the conda python distribution and build PyCall.
```julia
ENV["PYTHON"]=""
]build PyCall
Building Conda ─→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/e32a90da027ca45d84678b826fffd3110bb3fc90/build.log`
Building PyCall → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/62f417f6ad727987c755549e9cd88c46578da562/build.log`
...
```

Quit and restart julia, then run
```julia
using PyPlot
```

Since we started by wiping `~/.julia/conda`, matplotlib is not installed. Conda is automatically deployed to install it:
```
[ Info: Installing matplotlib via the Conda matplotlib package...
[ Info: Running `conda install -y matplotlib` in root environment
...
Executing transaction: done
```
It hangs there.

Kill julia with ^C -> `Killed: 9`.

Try again now that matplotlib is installed:
```
LD_LIBRARY_PATH="$HOME/.julia/conda/3/lib" /Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia
ENV["PYTHON"]=""
using PyPlot
```
Result: It just hangs immediately. So, I think probably conda installs matplotlib (maybe OK?), but julia is unable to use it.

I have to kill julia with ^C -> `Killed: 9`.

Trying again.
```
LD_LIBRARY_PATH="$HOME/.julia/conda/3/lib" /Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia
ENV["PYTHON"]=""
using Conda # returns
using PyCall # returns
using PyPlot # crashes
Killed: 9
```
Crashes and exits.

Even wiping `.julia/conda` again, it just crashes now with `Killed: 9`

### Background
PyPlot had previously been working for me.
The first sign of trouble was an MKL dylib conflict error message and crash when running `using PyPlot`.
Unfortunately after many ^Cs I can't find that error message.

I updated julia's conda after that. Then I got the behavior reported above.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.