easy_install не работает на Mac - PullRequest
       27

easy_install не работает на Mac

1 голос
/ 04 августа 2011

Я скопировал свою домашнюю папку с Mac OSX 10.5 на новый Mac OSX 10.6. Это сломало east_intall для бинарных пакетов. Например, если я использую Python 2.5:

> easy_install celery
Searching for celery
Reading http://pypi.python.org/simple/celery/
Reading http://github.com/ask/celery/
Reading http://celeryproject.org
Best match: celery 2.2.7
Downloading http://pypi.python.org/packages/source/c/celery/celery-2.2.7.tar.gz#md5=5826cf891eaa6175cc7aab67818094fe
Processing celery-2.2.7.tar.gz
Running celery-2.2.7/setup.py -q bdist_egg --dist-dir /var/folders/TK/TKwwrl0JEyKrCVteN9D+Jk+++TI/-Tmp-/easy_install-RSjVZt/celery-2.2.7/egg-dist-tmp-w4bMT_
...
In file included from Modules/_multiprocessing/multiprocessing.h:6,
                 from Modules/_multiprocessing/multiprocessing.c:9:
/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5/Python.h:18:20: error: limits.h: No such file or directory
...
... millions of errors
...

error: Setup script exited with error: command 'gcc' failed with exit status 1

Если я использую Python 2.6

> easy_install-2.6 celery
Searching for celery
Reading http://pypi.python.org/simple/celery/
Reading http://github.com/ask/celery/
Reading http://celeryproject.org
Best match: celery 2.2.7
Downloading http://pypi.python.org/packages/source/c/celery/celery-2.2.7.tar.gz#md5=5826cf891eaa6175cc7aab67818094fe
Processing celery-2.2.7.tar.gz
Running celery-2.2.7/setup.py -q bdist_egg --dist-dir /var/folders/TK/TKwwrl0JEyKrCVteN9D+Jk+++TI/-Tmp-/easy_install-dCVly4/celery-2.2.7/egg-dist-tmp-PqOUyI
error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: Setup script exited with error: /var/folders/TK/TKwwrl0JEyKrCVteN9D+Jk+++TI/-Tmp-/easy_install-dCVly4/celery-2.2.7/temp/easy_install-61UKvH/PasteDeploy-1.5.0/temp/easy_install-ExR4d0/Paste-1.7.5.1/temp/easy_install-OJw80Y/PasteDeploy-1.5.0/temp/easy_install-Zg0wGJ/Paste-1.7.5.1/temp/easy_install-aWn8hm/PasteDeploy-1.5.0/temp/easy_install-1TOXq2/Paste-1.7.5.1/temp/easy_install-r97tJG/PasteDeploy-1.5.0/temp/easy_install-CNdClq/Paste-1.7.5.1/temp/easy_install-XUejp4/PasteDeploy-1.5.0/temp/easy_install-xN6Jd6/Paste-1.7.5.1/temp/easy_install-zFbJOI/PasteDeploy-1.5.0/temp/easy_install-fc2q_2/Paste-1.7.5.1/temp/easy_install-1rTVrG/PasteDeploy-1.5.0/temp/easy_install-rii66v/Paste-1.7.5.1/temp/easy_install-cZBf5J/PasteDeploy-1.5.0/temp/easy_install-ICPv8M/Paste-1.7.5.1/temp/easy_install-RwRQIz/PasteDeploy-1.5.0/temp/easy_install-x74lHT/Paste-1.7.5.1/temp/easy_install-Yf8l74/PasteDeploy-1.5.0/temp/easy_install-fnl5Wt/Paste-1.7.5.1/temp/easy_install-OwWNt9/PasteDeploy-1.5.0/temp/easy_install-WkOs3d/Paste-1.7.5.1/docs/include/reference_header.txt: File name too long

Это не вопрос сельдерея. Я получаю похожие ошибки с lxml, matplotlib, scipy и т. Д. Проблема возникает со всеми бинарными пакетами, а не с чистыми пакетами python. Что я делаю не так?

> which easy_install
/Library/Frameworks/Python.framework/Versions/Current/bin/easy_install
> which easy_install-2.6
/usr/bin/easy_install-2.6

Ответы [ 2 ]

2 голосов
/ 04 августа 2011

Трудно сказать наверняка с помощью сокращенных обратных ссылок, которые вы включили. Одна из возможностей заключается в том, что отдельный Python 2.5, который вы установили в Mac OS X 10.5, скорее всего, с использованием установщика python.org, не был скопирован. Если это так, вам нужно либо установить там аналогичный Python 2.5, либо переместить /Library/Frameworks/Python.frameworks из старой установки. Или вы должны перейти на использование более нового Python, либо системы, либо одного из python.org, либо одного из сторонних распространителей с открытым исходным кодом для Mac OS X, таких как MacPorts или homebrew, или Fink, или ActiveState.

Другая возможность заключается в том, что вам необходимо установить дополнительный MacOSX 10.4u SDK из установщика Xcode 3 для Mac OS X 10.6. В этом случае вы должны увидеть сообщения об ошибках, которые включают в себя либо 10.3, либо 10.4.

Обновление: похоже, у вас установлен easy_install для дополнительного python.org или, по крайней мере, для любой версии Python, на которую указывает /Library/Frameworks/Python.framework/Versions/Current. Кажется, у вас здесь есть две отдельные проблемы (с Python 2.5 и еще одна с системой Python 2.6). На данный момент мне трудно угадать, что является одной из проблем, не получая намного больше информации. Вероятно, лучше очистить и начать все сначала.

  1. Если вы хотите удалить старый Python 2.5, перенесенный из вашей старой системы, вы можете следовать инструкциям здесь о том, как удалить Python.org с установленным Python. Если вы хотите, вы можете сначала сделать его копию или переименовать вместо этого что-то вроде:

    cd /Library/Frameworks/Python.framework/Versions
    sudo mv 2.5 2.5-OLD 
    

    Попробуйте сделать то же самое для любой другой версии Python. НЕ удаляйте и не изменяйте файлы в /System/Library/Frameworks или /usr/bin. Эти каталоги являются частью OS X.

  2. Убедитесь, что вы очистили свои файлы профиля оболочки, .bash_profile и т. Д., Чтобы убедиться, что ваш PATH больше не содержит этот Python. Убедитесь, что у вас нет неожиданных переменных среды PYTHONPATH.

  3. Убедитесь, что в вашем домашнем каталоге нет устаревших файлов конфигурации Distutils. Ищите и переименовывайте или удаляйте такие вещи, как .pydistutils.cfg.

    cd ~
    ls -al
    

    Также убедитесь, что в локальных каталогах не установлены неожиданные частные пакеты.

    ls -al ~/Library/Python
    ls -al ~/.local
    
  4. Проверьте и, при необходимости, удалите что-либо в каталогах site-packages для питонов, поставляемых Apple:

    cd /Library/Python/2.6/site-packages
    ls -al
    cd /Library/Python/2.5/site-packages
    ls -al
    
  5. Запустите новый сеанс терминала и убедитесь, что все в порядке.

  6. Решите, какие версии Python вы хотите использовать с 10.6. Если вы согласны с версиями 2.6.1 или 2.5.4, поддерживаемыми Apple, используйте их. Они оба поставляются с собственными версиями easy_install в /usr/bin.

    $ ls -l /usr/bin/python*
    -rwxr-xr-x  2 root  wheel  86000 Jun 24  2010 /usr/bin/python*
    -rwxr-xr-x  5 root  wheel    925 Jul  7  2009 /usr/bin/python-config*
    lrwxr-xr-x  1 root  wheel     75 Nov  7  2010 /usr/bin/python2.5@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5
    lrwxr-xr-x  1 root  wheel     82 Nov  7  2010 /usr/bin/python2.5-config@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5-config
    lrwxr-xr-x  1 root  wheel     75 Nov  7  2010 /usr/bin/python2.6@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
    lrwxr-xr-x  1 root  wheel     82 Nov  7  2010 /usr/bin/python2.6-config@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6-config
    -rwxr-xr-x  2 root  wheel  86000 Jun 24  2010 /usr/bin/pythonw*
    lrwxr-xr-x  1 root  wheel     76 Nov  7  2010 /usr/bin/pythonw2.5@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/pythonw2.5
    lrwxr-xr-x  1 root  wheel     76 Nov  7  2010 /usr/bin/pythonw2.6@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/pythonw2.6
    $ ls -l /usr/bin/easy*
    -rwxr-xr-x  2 root  wheel  925 Jun 30  2009 /usr/bin/easy_install*
    -rwxr-xr-x  1 root  wheel  421 Jun 30  2009 /usr/bin/easy_install-2.5*
    -rwxr-xr-x  1 root  wheel  421 Jun 30  2009 /usr/bin/easy_install-2.6*
    
  7. Если вам нужны более свежие и актуальные версии Python, рассмотрите возможность установки последних Pythons (Python 2.7.2 - это текущая версия Python 2) с python.org или homebrew, MacPorts, Fink, ActiveState и т. Д. Обновите PATH вашей оболочки по мере необходимости. (Например, установщики python.org по умолчанию соответствующим образом изменяют ваши профили оболочки.)

  8. Если установка уже не идет с easy_install (python.org этого не делает, у некоторых есть дополнительный пакет для этого), установите пакет Distribute что обеспечит easy_install для него.

1 голос
/ 04 августа 2011

Вы установили XCode? Похоже, у вас нет.

...