#python #numpy #scikit-learn
#python #numpy #scikit-learn
Вопрос:
Я пытаюсь изучить sklearn и при запуске сталкиваюсь с приведенной ниже ошибкой import sklearn
. Однако, когда я запускаю точно такой же код, используя python 2.7, я не сталкиваюсь с какими-либо ошибками.
import sklearn
File "/usr/local/lib/python3.2/dist-packages/sklearn/__init__.py", line 38, in <module>
from .base import clone
File "/usr/local/lib/python3.2/dist-packages/sklearn/base.py", line 10, in <module>
from scipy import sparse
File "/usr/lib/python3/dist-packages/scipy/__init__.py", line 124, in <module>
pkgload(verbose=SCIPY_IMPORT_VERBOSE,postpone=True)
File "/usr/local/lib/python3.2/dist-packages/numpy/_import_tools.py", line 177, in __call__
for package_name in self._get_sorted_names():
File "/usr/local/lib/python3.2/dist-packages/numpy/_import_tools.py", line 114, in _get_sorted_names
for name in depend_dict.keys():
RuntimeError: dictionary changed size during iteration
Я немного погуглил, последовал инструкциям из следующей ссылки и запустил sudo pip3 install git https://github.com/scikit-learn/scikit-learn.git
. Установка прошла нормально, однако я продолжаю получать ошибку.
https://askubuntu.com/questions/449326/installation-error-in-sklearn-for-python3
Как можно решить эту проблему. (кроме работы с Python2.7)
Комментарии:
1. можете ли вы обновиться до python 3.4?
2. Я не голосовал против, я просто спрашиваю вас, но это не имеет значения, я вижу, что есть проблема и с 3.4.
3. хорошо, тогда тот, кто проголосовал против, сумасшедший. не могли бы вы предложить, как это исправить?
4. что вы получаете, если
import numpy numpy.__version__
используете оболочку python35. тогда проблема не в numpy, почему вы не можете перейти на python 3.4? установка из git, как у вас, будет работать с python 3.4, вам также понадобится scipy
Ответ №1:
Это ошибка, которая будет исправлена в следующем выпуске NumPy (версия 1.9.0):
https://github.com/numpy/numpy/commit/5025c40965fa5fb2b591f07c152b966dc7b730f0
На github уже есть исправление, но оно еще не включено в выпуск исправления. Ваши варианты:
- Дождитесь исправления версии 1.9.0 для Python 3 и тем временем используйте Python 2.
- Просто примените те же изменения к двум строкам в ссылке, которую я предоставил для вашей текущей версии Numpy
- Установите Numpy 1.9.0 beta.
Комментарии:
1. в каких версиях numpy есть ошибка?
2. Я не уверен. Все, что я знаю, это то, что они только что узнали об этом.
3. куда мне применить изменения?
4. Это прямо в трассировке стека:
/usr/local/lib/python3.2/dist-packages/numpy/_import_tools.py
5. так это относится к python <3.4?