Я работал над модулем расширения Python с большим количеством файлов. При сборке на одной машине python setup.py build
с радостью обнаружит измененные файлы, создаст только эти файлы и объединит все вместе, как make. Однако на другом компьютере одно изменение любого файла вызывает перекомпиляцию всех источников.
Просто чтобы было ясно. Обе машины определяют, когда пакет обновлен, и ничего не будут делать. Только когда один файл изменяется, его поведение расходится.
Почему вторая машина делает это?
Машина 1 (выполняет проверку и сборку зависимостей для каждого файла.)
Python 2.6.4 (r264:75706, Feb 15 2010, 17:06:03)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
setuptools-0.6c11-py2.6
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.4 (Final)
Release: 5.4
Codename: Final
Машина 2 (восстанавливает все, когда изменяется один исходный файл.)
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
setuptools-0.6c11-py2.6
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04 LTS
Release: 10.04
Codename: lucid