Проблема с тем, что macports улавливает неправильный питон - PullRequest
0 голосов
/ 08 августа 2011

Я ранее установил Python в /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6. затем после обновления Lion я снова установил его в /System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6. Но когда я устанавливаю какой-либо пакет Python с использованием MacPorts, установка завершается неудачно со следующим сообщением:

CPATH='/opt/local/include' MACOSX_DEPLOYMENT_TARGET='10.7' LIBRARY_PATH='/opt/local/lib' F90FLAGS='-m64' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_mercurial/mercurial/work/.CC_PRINT_OPTIONS' LDFLAGS='-arch x86_64' FCFLAGS='-m64' OBJCFLAGS='-arch x86_64' FFLAGS='-m64' CC_PRINT_OPTIONS='YES'
:debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_mercurial/mercurial/work/mercurial-1.9" && /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 setup.py --no-user-cfg build'
:debug:build Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_mercurial/mercurial/work/mercurial-1.9" && /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 setup.py --no-user-cfg build
:info:build sh: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6: No such file or directory
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_mercurial/mercurial/work/mercurial-1.9" && /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 setup.py --no-user-cfg build " returned error 127
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for mercurial): org.macports.activate org.macports.build org.macports.destroot org.macports.install
:notice:build Log for mercurial is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_mercurial/mercurial/main.log

Это произошло при установке Mercurial. Я попытался установить Python по умолчанию в качестве активного, но это было бесполезно.

Как я могу заставить MacPorts использовать нужную мне версию Python? Я должен сказать, что это версия и место, которое нужно использовать.

Ответы [ 2 ]

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

Что вы подразумеваете под тем, что вы снова установили Python 2.6 в /System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6?Это расположение поставляемого Apple Python 2.6 в Lion.Есть также поддерживаемые Apple версии Python 2.7 и 2.5 в этой среде.Не изменяйте и не удаляйте ничего в /System/Library!Версия MacPorts, как и прежде, устанавливается в /opt/local/.

. После обновления до Lion вы:

  1. загрузили установщик Xcode 4.1 из магазина Mac App и затемзапустить установщик для него (находится в /Applications)?

  2. Обновили ли вы настройки портов MacPorts до последних обновлений для поддержки Lion?

    $ sudo port selfupdate
    $ sudo port -u upgrade outdated
    
  3. Вы используете ртутный порт MacPorts?

    $ sudo port install mercurial
    
  4. Вы изменили свой PATH для включения /opt/local/bin или используете абсолютный путь к Macports Python: /opt/local/bin/python2.6

0 голосов
/ 08 августа 2011

Я считаю, что лучше всего работать с virtualenv при программировании на python - тогда нет никаких загадок относительно того, где какая зависимость, и установка пакетов проходит без проблем с pip или easy_install . Если вы Google его , вы можете увидеть кучу полезных постов в блоге о том, как его настроить и эффективно использовать.

...