On 15/09/18 20:46, Patrick Dupre wrote:
I am sorry. It seems that there is some confusion.
The following lines, can be commented or not. It does not change anything
from mpl_toolkits.mplot3d import Axes3D
import mpl_toolkits.mplot3d.axes3d as axes3d)
I do not use pip. However pip list provides a list of 207 pacakges.
The error is the same in python2 and python3
ax.yaxis.set_scale('log')
AttributeError: 'YAxis' object has no attribute 'set_scale'
I think you should perhaps ask about this in matplotlib circles. This
'closed' bug has similarities:
https://github.com/matplotlib/matplotlib/issues/8027
John P
>
>
>
>
>>
>> On Sat, 15 Sep 2018 10:47:43 +0200
>> "Patrick Dupre" <pdupre(a)gmx.com> wrote:
>>
>>> However, I am sure that it is linked to fedora, but I get one
>>> error with
>>> ax.zaxis.set_scale('log')
>>>
>>> ax.zaxis.set_scale('log')
>>> AttributeError: 'ZAxis' object has no attribute 'set_scale'
>>>
>>> (from mpl_toolkits.mplot3d import Axes3D
>>> import mpl_toolkits.mplot3d.axes3d as axes3d)
>>
>> If this is part of the error it is indicating that axes3d is being
>> imported twice, as different names. If both exist, it seems they have
>> a conflict. Because python is case sensitive in names,
>> Axes3D != axes3d.
>>
>>>
>>>
>>> I found the following:
>>>
https://stackoverflow.com/questions/24442309/attributeerror-zaxis-object-...
>>>
>>> Some ideas?
>>
>> The link seems to be indicating that there are two versions of the
>> library installed, and they are incompatible. Which is what the above
>> error also seems to be indicating. I'm not familiar with these
>> routines, so have no idea what is actually going on. I think this is
>> too complicated to solve second hand. To find the error, the code
>> that is failing has to be debugged to find how and why it is failing.
>> And then fixed. Not a trivial exercise.
>>
>> Another alternative:
>> Did you by chance install matplotlib using pip, without --user? If you
>> did, you have conflicting installs from pip and rpm in the system
>> libraries. The pip install has to be removed. Even if you installed
>> a duplicate library with pip using --user, depending on your python
>> path it can conflict with the system libraries if it is before them,
>> introducing an inconsistency.
>>
>> If a library exists in fedora and pip, always use the fedora library
>> so the system libraries remain self consistent. Only use pip for
>> libraries that aren't packaged in fedora, and always use --user to
>> install them, so they don't get installed into the system space.