Astropy не работает с Python

У меня были проблемы с Python в последнее время, в основном, потому что я думаю, что у меня было несколько версий и конфликтов (из-за установки Anaconda, установки Canopy и т. Д.). Поэтому я вычистил их.

Я переустановил Python (2.7) через Brew.

Я переустановил numpy и matplotlib через pip. Я также переустановил astropy и h5py через pip.

Тем не менее, я получаю чистый импорт numpy и matplotlib, но не astropy и h5py:

~ > python
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import matplotlib
>>> import astropy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named astropy
>>> import h5py
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: No module named h5py
>>> 

1 ответ

Я подозреваю, что ваш pip исполняемый файл не связан с вашим python исполняемый, что означает, когда вы запускаете pip install astropy он устанавливает его в пакетах сайта для другого питона.

Один из способов убедиться, что вы используете правильный пункт, это не использовать

$ pip install astropy

но вместо этого используйте

$ python -m pip install astropy

Если это не удается, это, вероятно, означает, что у вас не установлен pip для экземпляра Python, который вы используете, и вам необходимо установить его (обратите внимание, что для Python 2 версии 2.7.9 или новее, или Python 3 версии 3.4 или новее, pip поставляется в комплекте с Python).

Если это все еще не работает, то происходит что-то незнакомое. Это может быть связано с $PYTHONPATH или же $LD_LIBRARY_PATH/$DYLD_LIBRARY_PATH установить таким образом, что мешает импорту Python. В этом случае вы можете очистить эти переменные и повторить попытку. В противном случае, я бы подумал об использовании пакета, такого как conda или canopy. Это делает такие проблемы с установкой более гладкими.


Редактировать: теперь я вижу, что вы использовали Conda и Canopy, и вы подозреваете, что они вызывали ваши проблемы. Конда и навес, по замыслу, оба помещают в песочницу свои установки на python, чтобы они не получали помех от других установок в вашей системе, если только вы не форсируете такие помехи, устанавливая переменные среды, о которых я упоминал выше. Я бы предложил переустановить conda и стереть эти переменные окружения из вашего скрипта запуска bash/csh.

Другие вопросы по тегам