Python: работа с cygwin работает, при запуске из PyCharm

Я могу успешно запустить python script, который использует

from sklearn.cluster import DBSCAN

из 64-битного терминала терминала cygwin, который использует 64-битную сборку python 2.7.

Когда я запускаю то же самое из 64-битного и 32-битного pycharm с параметрами интерпретатора -vv, я получаю (первые 2 строки - подробный вывод):

import numpy.linalg.linalg # precompiled from /usr/lib/python2.7/site-packages/numpy/linalg/linalg.pyc
dlopen("/usr/lib/python2.7/site-packages/numpy/linalg/lapack_lite.dll", 2);
Traceback (most recent call last):
  File "C:/Users/mack0242/Dropbox/PhD/scripts/cluster.py", line 5, in <module>
    from sklearn.cluster import DBSCAN
  File "/usr/lib/python2.7/site-packages/sklearn/__init__.py", line 57, in <module>
    from .base import clone
  File "/usr/lib/python2.7/site-packages/sklearn/base.py", line 9, in <module>
    import numpy as np
  File "/usr/lib/python2.7/site-packages/numpy/__init__.py", line 170, in <module>
    from . import add_newdocs
  File "/usr/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/usr/lib/python2.7/site-packages/numpy/lib/__init__.py", line 18, in <module>
    from .polynomial import *
  File "/usr/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 19, in <module>
    from numpy.linalg import eigvals, lstsq, inv
  File "/usr/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 51, in <module>
    from .linalg import *
  File "/usr/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 29, in <module>
    from numpy.linalg import lapack_lite, _umath_linalg
ImportError: No such file or directory

Я проверил double и файл:

/usr/lib/python2.7/site-packages/numpy/linalg/lapack_lite.dll

существует и имеет 64 бита. Я успешно установил numpy, scipy и sklearn из pip на терминале cygwin.

Кроме того, PyCharm говорит, что нет модулей с именем sklearn, matplotlib и numpy.

Ответ 1

Когда у меня была аналогичная проблема (не удалось импортировать numpy в Pycharm, но на консоли cygwin), оказалось, что cygwin использовал другой интерпретатор в качестве PyCharm.

В PyCharm я настроил интерпретатор из C:\Program Files\cygwin\usr\bin\python. Напротив, cygwin использовал /bin/python. В PyCharm нажмите File > Settings > Project: yourProjectName > Project Interpreter, нажмите "Add local" и найдите интерпретатор, используемый cygwin (в моем случае C:\Program Files\cygwin\bin\python).

Затем откройте консоль Python в PyCharm через View > Tools Windows > Python Console и попробуйте выполнить оператор импорта.