Почему scons не смотрит в ~ / .scons / site_scons по умолчанию? - PullRequest
1 голос
/ 20 января 2012

У меня есть загадка: я использую Ubuntu SCons (версия пакета 1.2.0.d20100117-1). У меня есть каталог $HOME/.scons/site_scons/, который, как говорится во всей документации, должен быть одним из каталогов сайта, по которым выполняется поиск по умолчанию. Там есть подкаталог модуля fpga. В каталоге моего проекта у меня есть файл SConstruct, состоящий исключительно из:

import fpga

Вот странность: когда я просто запускаю scons, я получаю следующую ошибку:

$ scons
scons: Reading SConscript files ...
ImportError: No module named fpga:
  File "BLAh/foo/SConstruct", line 1:
    import fpga

Если я запускаю scons --site-dir=$HOME/.scons/site_scons, что в любом случае должно быть по умолчанию, тогда все работает как шарм.

Дополнительная странность: когда я запускаю strace scons, он никогда не пытается stat или open $HOME/.scons - фактически единственное место, где он ищет site_scons, это ./site_scons.

Кто-нибудь еще видел это?

Ответы [ 3 ]

2 голосов
/ 05 апреля 2012

Вам потребуется обновить версию до более поздней, чтобы ~ / .scons автоматически выбирались SCons.

Вот 1,2 документа, в которых не упоминается ~ / .scons

http://scons.org/doc/1.2.0/HTML/scons-man.html

0 голосов
/ 26 января 2012

После большого количества копаний на SCons 2.1.0.r5357 это будет работать, если файл инициализации сайта имеет имя:

$HOME/.scons/site_scons/site_init.py,

Это точно не было очевидно из документации. Если это продолжает вызывать проблемы, например, на альтернативном узле всей машины, вы можете добавить отладочный вывод в SCons/Scripts/Main.py в функции _load_site_scons_dir.

0 голосов
/ 23 января 2012

Насколько я знаю, папка site_scons должна находиться в той же папке, что и файл SConstruct . Тогда все работает нормально. Параметр - site-dir предназначен для случаев, когда у вас есть папка site_scons для всей машины.

...