Если я
blockquote>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 )
Если вы устанавливаете macports, вы можете установить gcc select, а затем выбрать свою версию gcc.
/opt/local/bin/port install gcc_select
Чтобы увидеть свои версии, используйте
port select --list gcc
Для выбора версии используйте
sudo port select --set gcc gcc40
У вас может быть несколько версий GCC на вашем компьютере, чтобы выбрать ту, которую вы хотите использовать, вызовите ее с полным путем, например, вместо g ++
используйте полный путь / usr / bin / g ++
в командной строке (зависит от того, где находится ваш gcc).
Для компиляции проектов все зависит от того, какую систему вы используете, я не уверен насчет Xcode (меня устраивает стандартный atm ), но когда вы используете Makefile, вы можете установить GXX = / usr / bin / g ++ и т. д.
EDIT
Теперь есть скрипт xcrun
, который можно запросить для выбора подходящей версии инструментов сборки на Mac. Помимо man xcrun
, я погуглил это объяснение о xcode и инструментах командной строки , которое в значительной степени резюмирует, как их использовать.
использовать "gcc_select -l"
> gcc_select -l
gcc40 mp-gcc44
> gcc_select mp-gcc44
Все, что Apple поставляет как gcc по умолчанию в xcode (4.2.1 в 10.6, 4.0.1 раньше), хорошо протестировано (и поддерживается) разработчиками Apple и «стандартом» для создания программного обеспечения. with на OS X. Все остальное - нет, так что подумайте дважды, если вы хотите разрабатывать программное обеспечение или быть бета-тестером gcc / OS X.
в / usr / bin
тип
sudo ln -s -f g ++ - 4.2 g ++
sudo ln -s -f gcc-4.2 gcc
Это должно сработать.