Context
Я пытаюсь установить TensorFlow на мой Raspberry Pi, но numpy не может работать.
Моя установка RPi бесплатна sh от microSD. Я использую Raspbian Buster и до этого на этой системе ничего не делал, кроме sudo apt update && sudo apt upgrade
, устанавливаю python3 .5 и пытаюсь установить файл колеса TensorFlow (самый последний), используя python -m pip install <tensorflow>.whl
.
Я использую чистые virtualenv и pip для установки пакетов python (оба pip install ...
и python -m pip install ...
в env). Установки не имеют ошибок или предупреждений; все выглядит нормально, пока я не попытаюсь использовать / импортировать numpy.
Ошибка, упомянутая в названии, следующая:
Python 3.5.4 (default, Sep 5 2017, 18:32:10)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/pi/tensorflow/lib/python3.5/site-packages/numpy/__init__.py", line 152, in <module>
from . import random
File "/home/pi/tensorflow/lib/python3.5/site-packages/numpy/random/__init__.py", line 181, in <module>
from . import _pickle
File "/home/pi/tensorflow/lib/python3.5/site-packages/numpy/random/_pickle.py", line 1, in <module>
from .mtrand import RandomState
ImportError: /home/pi/tensorflow/lib/python3.5/site-packages/numpy/random/mtrand.cpython-35m-arm-linux-gnueabihf.so: undefined symbol: PyFPE_jbuf
Воспроизвести
Я могу последовательно Воспроизведите это, запустив чистый virtualenv, используя python3 .5, pip install numpy
или python -m pip ...
, затем попытайтесь импортировать numpy, как описано выше.
Попытки
Большинство других вопросов Я видел, что это связано с путями установки Cython или наличием другого numpy на компьютере, так что я сделал это до сих пор:
Удаление по умолчанию numpy установка на пи
Установлен Cython, переустановлен numpy
Установка numpy с pip install --no-cache-dir numpy
Примечание
numpy установка работает на python3 .7 virtualenv
Обновление
Я последовал комментарию phd и попытался собрать из источника ( git clone ...
, cd numpy
, python setup.py
все в virtualenv на python3 .5). Это привело к тому же отсутствующему символу, хотя и в другом месте. Он выглядит как связанный с Cython?
Running from numpy source directory.
Cythonizing sources
Processing numpy/random/bounded_integers.pxd.in
Processing numpy/random/bounded_integers.pyx.in
Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/pi/tensorflow/lib/python3.5/site-packages/cython.py", line 17, in <module>
main(command_line = 1)
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/Main.py", line 858, in main
result = compile(sources, options)
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/Main.py", line 780, in compile
return compile_multiple(source, options)
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/Main.py", line 750, in compile_multiple
context = options.create_context()
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/Main.py", line 597, in create_context
self.cplus, self.language_level, options=self)
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/Main.py", line 80, in __init__
from . import Builtin, CythonScope
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/CythonScope.py", line 5, in <module>
from .UtilityCode import CythonUtilityCode
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/UtilityCode.py", line 3, in <module>
from .TreeFragment import parse_from_strings, StringParseContext
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/TreeFragment.py", line 17, in <module>
from .Visitor import VisitorTransform
File "Cython/Compiler/Visitor.py", line 17, in init Cython.Compiler.Visitor
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/ExprNodes.py", line 4724, in <module>
class SliceIndexNode(ExprNode):
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/ExprNodes.py", line 4922, in SliceIndexNode
"SliceObject", "ObjectHandling.c", context={'access': 'Get'})
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/Code.py", line 404, in load
return cls(**kwargs)
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/Code.py", line 648, in __init__
proto = sub_tempita(proto, context, file, name)
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Compiler/Code.py", line 640, in sub_tempita
from ..Tempita import sub
File "/home/pi/tensorflow/lib/python3.5/site-packages/Cython/Tempita/__init__.py", line 4, in <module>
from ._tempita import *
ImportError: /home/pi/tensorflow/lib/python3.5/site-packages/Cython/Tempita/_tempita.cpython-35m-arm-linux-gnueabihf.so: undefined symbol: PyFPE_jbuf
После этого он просто говорит мне, что запуск cythonize завершился неудачей в setup.py.