Python не распознает установленные пакеты MacPorts - PullRequest
3 голосов
/ 16 февраля 2012

Заранее спасибо за совет!

Справочная информация:

По отношению к людям на этом сайте я новичок в программировании, и, несмотря на некоторые исследования, я не знаком с использованием оболочек типа Unix, с тем, что на самом деле включает управление пакетами, или с чем-либо, что делается за пределами ". Dr. Java "IDE или R GUI по умолчанию. У меня есть MacBook конца 2008 года с OSX 10.5.8

Моя цель:

Я пытаюсь установить следующие пакеты в Python: scipy, numpy, matplotlib, networkX

Моя история:

Насколько я понимаю, мой 10.5.8 поставляется с установленным Python 2.5, который необходим системе для ее функционирования, и вам действительно не стоит связываться с этим. Для установленных пакетов требуется Python 2.7, поэтому после переформатирования компьютера я установил Python 2.7.2 для OSX 10.3 (последняя версия Python / OSX, предложенная в версии 2.7.X) с использованием .dmg на веб-сайте Python. Затем я установил XCode с помощью .dmg (подходящей версии для моей ОС) с сайта Apple, и установил MacPorts (подходящую версию для моей ОС) с помощью .dmg с их сайта. Затем, я полагаю, я использовал MacPorts для установки пакетов:

sudo port install py27.numpy

Однако, когда я пытаюсь импортировать пакеты, которые я очевидно установил, Python сообщает мне, что их не существует. Я почти уверен, что у меня есть только 2 версии Python на моей машине, 2.5 для OSX и 2.7.2 для меня (как я могу это проверить?), И если я проверю, какая версия Python работает, через Shell или через холостой ход я получаю:

>>> import sys
>>> print sys.version
2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 14:13:39) 
[GCC 4.0.1 (Apple Inc. build 5493)]

Если я запускаю «какой питон», я получаю:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python

Когда я проверяю, где MacPorts установил пакеты, используя

port contents py27-packagename

Я получаю каталоги в основном:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/

с несколькими каталогами в

/opt/local/share/py27-matplotlib/examples/
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/doc/networkx-1.5/

и один каталог в

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/f2py
/opt/local/share/doc/py27-matplotlib/CHANGELOG
/opt/local/share/doc/py27-matplotlib/README.txt
/opt/local/share/doc/py27-matplotlib/TODO

Мой вопрос:

Как мне заставить Python распознавать мои пакеты? В идеале я хотел бы настроить его так, чтобы я мог использовать Python IDLE, а также вызывать его из командной строки.

Я попытался воспроизвести некоторые решения по адресу: Найти пакет MacPorts? Но я не очень понимаю, что я делаю все это хорошо, поэтому сложно адаптировать то, что там делается.

Еще раз всем спасибо!

1 Ответ

2 голосов
/ 16 февраля 2012

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

вы были на правильном пути с этим вопросом, с которым вы связаны. см. этот ответ , но замените путь вашим реальным путем к вашим библиотекам macports, а именно:

export PYTHONPATH="/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH"

посмотри, не поможет ли это!

...