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
и попробуйте выполнить оператор импорта.