2016-09-29 4 views
0

Моя система SLES 11.4 с python 2.6.9. Я мало знаю о python и не нашел, где скачать rpm, которые дают мне необходимые пакеты python.
Я приобрел numpy 1.4 и 1.11, и я считаю, что сделал успешный python setup.py build, а затем python setup.py install на numpy. Переход из памяти я думаю, что это устанавливается под /usr/local/lib64/python2.6/...вручную установка пакетов python в linux, чтобы они были распознаны

Далее я попытался строить & установка Matplotlib (который требует NumPy) и когда я делаю python setup.py build он вежливо отвечает не может найти NumPy. Итак, мои вопросы:

Мне нужно установить какую-то переменную среды, связанной с python, что-то вроде линий LD_LIBRARY_PATH или PATH?

Поскольку я больше участвую в использовании пакетов python для установки, которые мне нужно построить из исходного кода, мне нужно понять, где в настоящее время находятся данные по умолчанию для установки python, где должны идти новые вещи и где основные настройки для python знать, как и где распознавать новые пакеты.

ответ

0

Если вы используете linux, убедитесь, что переменная среды $PYTHONPATH установлена ​​правильно.

Для этого введите в терминале:

echo $PYTHONPATH 

Если вы не можете найти его, вы можете вручную установить переменную с расположением модулей, которые вы хотите найти в файле ~/.bashrc, выполнив следующее (с редактором вашего выбора, я выбрал Gedit в качестве примера):

sudo gedit ~/.bashrc 

И когда вы закончите, не забудьте

source ~/.bashrc 
+0

Я очень смущен; У меня нет переменной PYTHONPATH, установленной по умолчанию. Однако python все еще работает и по умолчанию имеет numpy 1.80, установленный в '/ usr/lib64/python2.6/site-packages /'. При вводе 'python' для запуска среды я могу сделать' import numpy', за которым следует 'numpy.test()', который сообщает, что нужен нос> = 0.10.0. Но когда я пытаюсь построить matplotlib 0.99.1 через 'python setup.py build', я не уверен, найдет ли он numpy. То, что он сообщает, - «numpy 1.8.0» не может найти заголовки для numpy, вам может потребоваться установить пакет разработки. «Я бы подумал, что они будут там. – ron

+0

Попробуйте 'sudo apt-get install python-dev' – user3543300

+0

У меня нет' apt-get'. Но python-dev установлен из SLES SDK вместе с setuptools. – ron

0

думаю, я понял. По-видимому, SLES 11.4 не включает заголовки разработки в стандартной установке из их SDK для numpy 1.8. И, конечно же, они не предлагают matplotlib вместе с кучей общих пакетов python.

Пакеты python для SDS SDES являются системными стандартами, расположенными под /usr/lib64/python2.6/site-packages/, и он находится здесь, я вижу numpy version 1.8. Поэтому, используя программный менеджер YAST, если вы выбираете различные пакеты python, это место, где они расположены.

С этой точки зрения, без значения PYTHONPATH набор переменных окружения. Я могу запустить python, напечатать import numpy и по большей части использовать его. Но если я попытаюсь построить matplotlib 0.99.1, он ответит, что он не может найти файлы заголовков для numpy версии 1.8, поэтому он знает, что numpy 1.8 установлен, но пакет разработки должен быть установлен.

Предполагая заголовки разработки, они означают файлы .h, Если я ищу под /usr/lib64/python2.6/site-packages У меня нет файлов .h для чего-либо!

Я только что загрузил источник для numpy-1.8.0.tar.GZ и легко сделал python setup.py.build с последующим python setup.py install и заметил он установлен под /usr/local/lib64/python2.6/site-packages/

Без PYTHONPATH переменной окружения набора, если я пытаюсь построить Matplotlib я все еще получаю ошибку о заголовке файлов не найдено.

, но в моей Баш оболочки, как корень, после того, как я export PYTHONPATH=/usr/local/lib64/python2.6/site-packages я могу успешно сделать сборку и установку Matplotlib 0.99.1, который также устанавливает /usr/local/lib64/python2.6/site-packages

Примечания:

я просто сделал успешный build & установить numpy-1.11, и это было брошено под /usr/local/lib64/python2.6/site-packages, однако, когда я пытаюсь построить matplotlib 0.99.1 с PYTHONPATH, он устанавливает, что он сообщает, что numpy не установлен, что требуется версия 1.1 или выше. Поэтому здесь кажется, что более старой версии matplotlib необходимо использовать определенный диапазон numpy, что последний numpy 1.11 несовместим.

И единственная другая переменная среды, которая установлена ​​системой, равна PYTHONSTARTUP, которая указывает на файл /etc/pythonstart.

Смежные вопросы