Обновите GCC на OSX

Если я import from .models import Book, это вызовет «циклический импорт».

Это правильно, но мы можем обойти это, мы можем отложить импорт до того момента, когда он нам понадобится в методе, например:

# app/managers.py

class BookQuerySet(models.QuerySet):

    def public(self):
        return self.filter(status=self.model.STATUS_CHOICES.public)

class PageQuerySet(models.QuerySet):

    def public(self):
        from .models import Book  # no circular imports
        return self.filter(
            book__status=Book.STATUS_CHOICES.public,
            status=self.model.STATUS_CHOICES.public
        )
61
задан Karan Bhamra 9 May 2009 в 04:48
поделиться

5 ответов

Если вы устанавливаете macports, вы можете установить gcc select, а затем выбрать свою версию gcc.

/opt/local/bin/port install gcc_select

Чтобы увидеть свои версии, используйте

port select --list gcc

Для выбора версии используйте

sudo port select --set gcc gcc40
62
ответ дан 24 November 2019 в 17:17
поделиться

У вас может быть несколько версий GCC на вашем компьютере, чтобы выбрать ту, которую вы хотите использовать, вызовите ее с полным путем, например, вместо g ++ используйте полный путь / usr / bin / g ++ в командной строке (зависит от того, где находится ваш gcc).

Для компиляции проектов все зависит от того, какую систему вы используете, я не уверен насчет Xcode (меня устраивает стандартный atm ), но когда вы используете Makefile, вы можете установить GXX = / usr / bin / g ++ и т. д.

EDIT

Теперь есть скрипт xcrun , который можно запросить для выбора подходящей версии инструментов сборки на Mac. Помимо man xcrun , я погуглил это объяснение о xcode и инструментах командной строки , которое в значительной степени резюмирует, как их использовать.

1
ответ дан 24 November 2019 в 17:17
поделиться

использовать "gcc_select -l"

> gcc_select -l

gcc40 mp-gcc44

> gcc_select mp-gcc44

2
ответ дан 24 November 2019 в 17:17
поделиться

Все, что Apple поставляет как gcc по умолчанию в xcode (4.2.1 в 10.6, 4.0.1 раньше), хорошо протестировано (и поддерживается) разработчиками Apple и «стандартом» для создания программного обеспечения. with на OS X. Все остальное - нет, так что подумайте дважды, если вы хотите разрабатывать программное обеспечение или быть бета-тестером gcc / OS X.

-8
ответ дан 24 November 2019 в 17:17
поделиться

в / usr / bin тип

sudo ln -s -f g ++ - 4.2 g ++

sudo ln -s -f gcc-4.2 gcc

Это должно сработать.

1
ответ дан 24 November 2019 в 17:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: