Как исключить один файл из пакета с setuptools и setup.py

Я работаю над blowdrycss . Здесь находится репозиторий.

Я хочу, чтобы файл настроек для blowdrycss_settings.py был исключен из окончательного пакета на pypi. Цель состоит в том, чтобы динамически создавать пользовательский файл настроек, который будет размещен в папке virtualenv / project пользователей.

В setup.py меня есть следующее:

 packages=find_packages(exclude=['blowdrycss_settings.py', ]), 

Я также попробовал exclude_package_data :

 exclude_package_data={ '': ['blowdrycss_settings.py'], '': ['blowdrycss/blowdrycss_settings.py'], 'blowdrycss': ['blowdrycss_settings.py'], }, 

Затем я запустил python setup.py sdist bdist .

Однако, когда я смотрю в папку сборки, я все еще вижу blowdrycss_settings.py :

 - build - lib - blowdrycss_settings.py 

Похоже, что просто просто исключить файл.

Как я могу исключить blowdrycss_settings.py из распределенного пакета?

One Solution collect form web for “Как исключить один файл из пакета с setuptools и setup.py”

Вот мое решение.

Под blowdrycss я создал новый модуль с settings поэтому структура каталогов теперь выглядит так:

 blowdrycss blowdrycss settings blowdrycss_settings.py 

Основываясь на этой ссылке , внутри setup.py меня есть следующее:

 packages=find_packages(exclude=['*.settings', ]), 

Чтобы построить дистрибутив:

  1. Удалите папки build , dist и .egg-info .
  2. Запустить python setup.py sdist bdist

Оглядываясь назад, хорошо, что я не смог сделать то, что я изначально пытался. Новая структура выглядит более чистой и более модульной.

  • Как заставить virtualenv устанавливать последние setuptools и pip из pypi?
  • Manifest.in, package_data и data_files?
  • Принудительное затмение для перезагрузки модулей Python
  • Делает ли pip handle extras_requires из setuptools / распределяет источники на основе?
  • Почему установка пакета python прерывает setuptools и не вызывает pkg_resources?
  • Кросс-компиляция расширений Python
  • install_requires на основе версии python
  • Ошибка «InvalidRequirement: ошибка, ошибка синтаксического анализа» после обновления пакета python
  • Python - лучший язык программирования в мире.