Numpy - ImportError: невозможно импортировать имя _distributor_init - PullRequest
1 голос
/ 07 марта 2019

Я использовал matplotlib из python и spyder ide, чтобы создать некоторые цифры для публикации. Это всегда работало, но даже после нескольких лет использования linux для меня все еще остается черный ящик.

Вчера я пытался запустить другое приложение, и он жаловался, что numpy и cv2 не были установлены (я не знаю почему, поскольку они были установлены). Я думаю, что попытался обновить эти два пакета, вызвав sudo pip install [package_name] --upgrade. Конец истории - ничего не работает. На данный момент моя цель - просто запустить spyder, чтобы я мог снова создавать фигуры.

Когда я хочу import scipy.io ( импортировать scipy.io как sio`), я просто получаю кучу ошибок.

runfile('/home/test/Desktop/python_test.py', wdir='/home/test/Desktop') 
Traceback (most recent call last):

File "<ipython-input-1-83166c6df179>", line 1, in <module>
runfile('/home/test/Desktop/python_test.py', wdir='/home/test/Desktop')

File "/usr/lib/python2.7/dist-packages/spyder/utils/site/sitecustomize.py", line 705, in runfile
execfile(filename, namespace)

File "/usr/lib/python2.7/dist-packages/spyder/utils/site/sitecustomize.py", line 94, in execfile
builtins.execfile(filename, *where)

File "/home/test/Desktop/python_test.py", line 1, in <module>
import scipy as sio # to import matlab files

File "/home/test/.local/lib/python2.7/site-packages/scipy/__init__.py", line 62, in <module>
from numpy import show_config as show_numpy_config

File "/home/test/.local/lib/python2.7/site-packages/numpy/__init__.py", line 140, in <module>
from . import _distributor_init

ImportError: cannot import name _distributor_init

Что мне нужно сделать, чтобы это исправить?

В настоящее время у меня есть следующие настройки:

Ubuntu 18.04.2 LTS
Spyder 3.2.6

test@test:~$ python --version
Python 2.7.15rc1

test@test:~$ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

test@test:~$ pip install scipy
Collecting scipy ... Successfully installed numpy-1.16.2 scipy-1.2.1

test@test:~$ sudo apt-get install python-numpy python-scipy
python-numpy is already the newest version (1:1.13.3-2ubuntu1).
python-scipy is already the newest version (0.19.1-2ubuntu1).

1 Ответ

2 голосов
/ 07 марта 2019

В моем случае я нашел следующее решение для моей проблемы:

Я запустил свой скрипт Python («import numpy as np») прямо в терминале:

test@test:~/Desktop$ python python_test.py 
Traceback (most recent call last):
File "python_test.py", line 1, in <module>
import numpy as np
File "/home/test/.local/lib/python2.7/site-packages/numpy/__init__.py", line 142, in <module>
from . import core
File "/home/test/.local/lib/python2.7/site-packages/numpy/core/__init__.py", line 91, in <module>
raise ImportError(msg.format(path))
ImportError: Something is wrong with the numpy installation. While importing we detected an older version of numpy in ['/home/test/.local/lib/python2.7/site-packages/numpy']. One method of fixing this is to repeatedly uninstall numpy until none is found, then reinstall this version.

Ошибкав последней строке более описательный, чем тот, который я получил в Spyder.Я просто удалил numpy через pip («pip uninstall numpy»), и он удалил версию 1.16.2.Теперь осталась только версия 1.13.3, и, похоже, она работает.

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