Какой параметр мне нужен в setup.py для создания пакета в правильном каталоге?

Я использую setup.py для создания пакета python, который я хочу установить через pip. Чтобы правильно установить файлы в

lib/python2.7/site-packages/<package-name>

Я использовал следующий параметр в setup.py:

'package_dir': {'':'lib'}

как описано здесь, но получить ошибку

error: package directory 'lib' does not exist

Ну, такого каталога нет, поскольку я хочу, чтобы текущий каталог был установлен как пакет lib или что-то еще. Я также попытался использовать

'package_dir': {'mycode':''}

который устанавливает код непосредственно в

lib/python2.7/site-packages/

и не под

lib/python2.7/site-packages/<package-name>

Что я делаю неправильно, и где это документировано? Я мог бы упустить из виду документацию по этой базовой функции, поскольку документация для setup.py является "субоптимальной".

Ответ 1

Описание того, как это сделать, можно найти в распространенной документации... В каталоге, содержащем весь проект (TowelStuff/ в данном примере), вы указываете имя фактического модуля (towelstuff/). Чтобы включить это как ваш модуль, вам нужно добавить следующую строку в setup.py:

'packages': ['towelstuff']

После создания sdist (с помощью TowelStuff/) установка этого пакета будет устанавливаться в соответствии с site-packages/towelstuff, которые можно импортировать как обычно (from towelstuff import...).