Steven, How difficult would it be to work a way to suppress this warning message? I general I would argue that it's best to avoid printing warnings to the screen unless there is something going on to be genuinely warned about, so as not to confuse the end-user. Since my package (http://github.com/jzuhone/YT.jl) depends on SymPy, this warning is shown every time one does "using YT" or "import YT". It's a cosmetic issue, but it would still be nice to get rid of it.
If suppressing it is doable, I'd be happy to investigate it myself and submit a PR. I'm not sure if this should be done in PyCall or in Julia itself somehow. Best, John Z On Saturday, January 3, 2015 9:37:23 AM UTC-5, Steven G. Johnson wrote: > > You can safely ignore it. @pyimport creates an module __anon__ (which is > assigned to plt in this case) that has definitions for the Python functions > in the Python module. The warning is telling you that this module creates > its own "transpose" function instead of extending Base.transpose. (It is a > warning because in many cases a module author would have intended to add a > new method to Base.transpose instead.) > > This is fine. transpose in other modules still refers to Base.transpose, > and plt.transpose refers to the pylab one (== numpy transpose). > > --SGJ > > PS. By the way, I would normally import just pyplot and not pylab. The > pylab module is useful in Python because it imports numpy too, and without > that you wouldn't have a lot of basic array functionality. But in Julia > you already have the equivalent of numpy built in to Julia Base. Also, I > would tend to recommend the Julia PyPlot module over manually importing > pyplot. The PyPlot module adds some niceties like IJulia inline plots and > interactive GUI plots, whereas pylab is imported by default in > non-interactive mode. >