Raise TypeError (TypeError: объект типа не может быть безопасно интерпретирован как целое число) - PullRequest
0 голосов
/ 18 января 2020

Я использую пакет, которому нужно NumPy. До сих пор все работало нормально. Но сегодня из-за расширения моего кода мне потребовалась новейшая версия NumPy. Старая версия была 17. что-то, и я установил последнюю версию. После этого я сталкиваюсь с упомянутой ниже проблемой Подробная ссылка на вопрос о Github

 File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\numpy\core\function_base.py", line 119, in linspace
  raise TypeError(
TypeError: object of type <class 'numpy.float64'> cannot be safely interpreted as an integer.

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Понизьте вашу numpy версию до: 1.16

pip install numpy == 1.16

работает для я.

1 голос
/ 18 января 2020

В обновлении 1.17 numpy

In [216]: np.linspace(0,1,10.)                                                                   
Out[216]: 
array([0.        , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
       0.55555556, 0.66666667, 0.77777778, 0.88888889, 1.        ])

до 1.18

In [2]: np.linspace(0,10,10.)                                                                    
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/numpy/core/function_base.py in linspace(start, stop, num, endpoint, retstep, dtype, axis)
    116     try:
--> 117         num = operator.index(num)
    118     except TypeError:

TypeError: 'float' object cannot be interpreted as an integer

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
<ipython-input-2-1e9a5a5e4a05> in <module>
----> 1 np.linspace(0,10,10.)

<__array_function__ internals> in linspace(*args, **kwargs)

/usr/local/lib/python3.6/dist-packages/numpy/core/function_base.py in linspace(start, stop, num, endpoint, retstep, dtype, axis)
    119         raise TypeError(
    120             "object of type {} cannot be safely interpreted as an integer."
--> 121                 .format(type(num)))
    122 
    123     if num < 0:

TypeError: object of type <class 'float'> cannot be safely interpreted as an integer.

То, что тест num = operator.index(num) имел функцию предупреждения deprecation, num = _index_deprecate(num), теперь возникает ошибка.

https://github.com/numpy/numpy/blob/v1.17.0/numpy/core/function_base.py#L37 -L179

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...